00012. Редактирование main.scm. Переменные (Часть 3)
Редактирование main.scm. Переменные (Часть 3)|Мы продолжаем дальше изучать переменные. Этот урок посвящён массивам. Что это такое и с чем его едят мы рассмотрим здесь.|wmysterio|wmysterio||||Давайте представим опять школу, в школе есть "11-А" класс. Опять в классе есть ученики. Довольно часто случается так, что в классе есть люди, в которых имена одинаковы. Что бы не путать мы часто называем их по фамилиям, что бы человек знал, что обращаются именно к нему. Также и переменные могут иметь свои "фамилии", то есть то, что отличает его от других. В программировании часто это называют массивом. Массив — набор однотипных данных. Массивы имеют не сложный синтаксис, так что напишем пример одного из них:
Допустим в нашем классе будут учится 4 девушки с именем Рита. Что бы различать их, мы проиндексируем их, то есть зададим какое то число, что будет их фамилией. В скриптинге обозначают их квадратными скобками:**[ ** и ], в середине которых находится число:
$RITA[0] $RITA[1] $RITA[2] $RITA[3]
В реальной жизни можно написать аналогичный пример:
$RITA[Иваненко] (имеет индекс 0) $RITA[Сагаева] (имеет индекс 1) $RITA[Рейна] (имеет индекс 2) $RITA[Пушкинка] (имеет индекс 3)
Как видим в скобках написаны фамилии. Думаю посмотрев оба примера вы уже поняли как их писать и имеете базовое представление о массивах. Каждый массив имеет ограничение, но ограничения ставим мы сами, то есть нам решать сколько человек с одинаковым именем будет в классе. Что бы сделать ограничение, нужно написать слово var и закрыть его командой end. В середине этого блока объявляются массивы. Делается это следующей формулой:
Рассмотрим детальнее:
VAR - открывается контейнер $RITA - имя переменной, которая будет считаться массивом 10 - максимальное количество элементов массива (максимальное количество фамилий, одинаковых фамилий не может быть ) integer - тип данных, который будут хранится END - закрывается контейнер
Написав всё это мы можем использовать переменные в своих целях.
Как и глобальные, так и локальные переменные могут быть массивами. Рассмотрим пример с локальными переменными. Объявлять массив так же само, а вот синтаксис совсем другой:
Рассмотрим подробнее написанное:
0@ - имя перемененной, которая будет считаться массивом 4 - максимальное количество элементов массива i - тип данных, который будет хранить массив 5@ - дополнительная переменная, которая будет служить индексом
Всё было бы хорошо, если не дополнительная переменная. Если в место неё написать числовой индекс, то возникнет ошибка: "имя индексной перемененной не найдено":
Поэтому нужно создать дополнительную переменную, которая будет служить нашим индексом. Сделаем это:
По структуре будет работать также, как и переменная "$RITA[0]".
Что бы заполнить весь массив нужно написать в два раза больше кода, чем при написании массивов глобальных переменных. Давайте сравним примитивный вариант заполнения локальных и глобальных массивов:
Last updated