Форум Pawn-Wiki.Ru - Воплоти мечту в реальность!: Переменные, Массивы, Enum - Форум Pawn-Wiki.Ru - Воплоти мечту в реальность!
Здравствуйте читатели форума pawn-wiki.ru, я приветствую вас в этой теме с обновленным уроком по переменным, массивам и enum'ам.
Надеюсь, прочитав этот урок, вы найдете для себя много нового . Давайте начнем с простого.
Переменные и как ими пользоватся
Сначала нам надо узнать, что вообще такое эти переменные. Переменная - это хранилище данных, куда мы можем записывать
различные данные для их последующего вызова. Тоесть действия с переменными предельно просты: запись информации,вывод и
использование информации. Если присмотрется ближе, то список можно пополнить еще одним пунктом - объявление переменной.
Каждая переменная имеет свое название, чтобы компилятор мог отличить друг от друга переменные, название мы задаем при
объявлении. Оператор объявления переменной - new. Вот пример объявления новой переменной:
Тут мы объявили переменную и назвали ее MyFirstVariable (моя первая переменная). Название могут быть, естественно, разные,
но помните, что павн не поддерживает кириллицу (это вам не 1с)! Перейдем к следующему пункту - запись информации. Запись
информации осуществляется с помощью оператора присвоения или различных функций. Рассмотрим оператор присвоения:
Таким образом мы присвоили предварительно созданной переменной значение 3. Ни в коем случае не путайте оператор присвоения(
= ) с оператором сравнения ( == ). Вот пример оператора объявления и оператора присвоения соединенных вместе:
Тоесть переменная будет равна трем изначально.
Из пункта запись информации вытекает пункт - изменение информации. Изменять информацию мы можем как с помощью оператора
присвоения,так и с помощью специальных операторов, список приведен ниже.
И естественно использование информации. Переменные фактически действуют как дефайны и в нужный момент и в нужном месте
"преобразовываются" в значения которые записаны в переменной. Вот несколько примеров:
Ну думаю тут все легко и понятно. Так же хотелось бы разъяснить ситуацию с локальными переменными, поясню: переменные
объявленные в самом начале мода или не в пабликах/функциях (т.е не состоящие в фигурных скобках) называются глобальными (т.е
действуют абсолютно во всем моде), а состоящие в скобках - локальными. Локальные переменные дейсвуют во всех скобках
открытых после нее и "самоуничтожается" когда исполнение кода дойдет до закрытия скобок. Пример:
Теперь надо разобратся с типами переменных, точнее с тегами. Тегами называются сочетания букв и цифр отделенные от
переменной двоеточием, они определяют тип данных в переменной. Известные нам теги:
Теги типа - DB, DBResult я писать не стал, т.к для их использования требуется отдельный инклуд.
Как я уже говорил, теги определяют тип данных в переменной, вот основные типы которые вам понадобятся:
Вот примеры работы с тегами в коде:
Так же хочу заметить, что переменным можно присваивать буквы как значение (для каждой переменной только одну!), пример:
Эта переменная будет носить значение буквы a. На данной стадии для нас это бесполезно, хотя потом пригодится. Внимание:
буквы разного регистра считаются РАЗНЫМИ!
Массивы
Для того, чтобы представить, что такое массивы, нам надо представить таблицу, в которой есть строки и столбцы. Массивы
бывают двух видов - одномерные и двумерные (есть еще тремерные (не знаю как пишется, правда), но извращатся с ними не стоит)
, теперь вернулись к нашей мысленной табличке и представили, что у нас есть 1 строка и некоторое кол-во столбцов в которые
записываются данные (цифра или буква или другие данные (зависит от тега)) - это одномерный массив, а теперь подключим еще и
строки, это уже будет двумерный массив. Примеры:
Следует помнить, что при указании размера массива указывается общее число элементов, а поскольку отсчет в любом языке
скриптинга идет с 0, то цифра указанная как размер массива в операциях с массивом использоватся не может (максимальная цифра
будет: размер массива - 1).
Также следует знать оператор который определяет размер массива и называется он sizeof, примеры:
С тегами и типами данных то же самое, что и в переменных.
Все члены массива будут носить данные вещественного типа.
Так же существует еще один прием с массивами
Теперь перейдем к строкам. В некоторых языках скриптинга есть отдельный тип для этого, string или строковый, в павн это
реализовано немного по другому. Для начало, что такое строки или строковый тип данных (которого в павн нет), это переменные
несущие набор букв/знаков/цифр как информацию. Как вы уже помните, я говорил, что переменной можно задать значение
буквы/знака или цифры как символа (смысла в этом нет, если это просто переменная), а вот если у нас массив, то каждому
элементу массива можно задать определенный символ и при выводе всего массива вместе, то получится текст. Все предельно
просто, мы можем либо задавать текст определенными функциями, либо оператором присвоения, чем мы сейчас и займемся.
И в конце этой "главы" рассмотрим присвоение значений массивам при обьявлении (каждому элементу)
С тегами все абсолютно тоже самое, только с тегами
Enum'ы
А теперь заключительная часть урока, енумы. Енумы на самом деле очень полезная вещь, она позволяет определить структуру
массива, зачем это надо я сейчас обьясню. Например: у нас есть один массив, в котором мы хотим видеть несколько типов
данных, например логический чередуется с целочисленным и завершается все это строкой которая нам совершенно не нужна до
этого. Но как же это реализовать? Мы будем использовать енумы.
Ну вот и весь урок.
Урок написан REALman'ом. Версия 2.0, отредактировано 18.06.2011.