![]() |
Курс Squirrel | Часть 1 - Printable Version +- Gothic Online Forums (https://archive.gothic-online.com) +-- Forum: Community (https://archive.gothic-online.com/forum-18.html) +--- Forum: Russian (Русский) (https://archive.gothic-online.com/forum-21.html) +---- Forum: Руководства и помощь в скриптах (https://archive.gothic-online.com/forum-43.html) +---- Thread: Курс Squirrel | Часть 1 (/thread-1205.html) |
Курс Squirrel | Часть 1 - Kladvey - 05.03.2016 ![]() Добро пожаловать на курс посвященный языку программирования Squirrel. Хочу Вас предупредить о том, что при написании данного курса автор ориентировался на аудиторию людей которые не имеют базового представления об программировании. Предполагается что читатель уже владеет необходимым программным обеспечением для написания исходного кода. Краткое введение В первую очередь следует отметить что Squirrel является интерпретируемым языком программирования. В отличии от компиляции наша программа транслируется в процессе выполнения - это будет приносить нам неудобства. Данный язык схож с его родственником Lua, но говорить что эти языки идентичны разумеется не правильно. Самое удивительное что данный язык поддерживает классы и наследование, что действительно сыграет нам на руку. Язык программирования Squirrel применяют в качестве инструмента в мире разработчиков игровой индустрии. Чему Вы научитесь
Я желаю вам удачного обучения в этом нелегком деле - программировании. Уверен что на пути у вас возникнет куча вопросов и загадок на которые вы захотите получить ответ. Если у вас возникнет чувство усталости или лени продолжать дальше - не мучайте себя. Постарайтесь отложить этот материал на следующий день. Данный метод поможет вам накопить сил для перехода на более высшую ступень в программировании. Хочу вас удивить, но даже если вы научитесь программировать - это не сделает из вас профессионала. Программирование входит в концепцию информатики, информатика как правило это что-то больше чем программирование. Профессионал должен иметь достаточно богатый багаж математических знаний начиная с школьной алгебры до математического анализа. Конечно для разработки игровой модификации Gothic Online не обязательно так глубоко знать математику, но это не означает что вы не должны это знать. Поверьте, пройдет несколько лет и вы захотите двигаться дальше. Чем дальше вы двигаетесь - тем умней вы становитесь - тем быстрей меняется ваше мировоззрение. Я старался воплотить все свои знания из программирования в этот курс. Для меня самая интересная тема - это работа на уровне бит. Когда я только начинал изучать программирование я всегда боялся эти страшные слова и формулировки, но прошел ровно год и мои страхи исчезли. Надеюсь что вы тоже как и я найдете ответы на свои вопросы. Удачи! ![]() Переменные и типы данных В процессе программирования мы постоянно взаимодействуем с данными, а ведь эти данные нужно где-то хранить. Существует несколько способов хранения данных, но в этой теме мы познакомимся с переменными. Переменные служат нам неким контейнером который дает нам возможность положить в него некоторое значение. Объявлением переменной является указание интерпретатору на существование данной переменной. Инициализация переменной является задание ей первоначального значения. Присвоение значения переменной - изменение уже хранящего значения. Значение может представлять собой как обычное число, либо-же результат какой-либо арифметической операции. В памяти компьютера переменные представляются следующим способом (изображение). ![]() Объем памяти выделяемой для переменной определяется по типу данных которому принадлежит данная переменная. Исходя из синтаксических правил языка Squirrel нам не нужно указывать тип данных вручную. Так-же язык Squirrel не является строго типизированным языком программирования, следовательно у нас есть возможность изменять тип переменной процессе выполнения программы. Типы данных
Область видимости переменных Переменные подразделяются на локальные и глобальные. Перед идентификатором локальной переменной следует ключевое слово local указывающие что данная переменная относится к группе локальных переменных. В случаи с глобальными переменными перед идентификатором не следует ключевых слов, но после идентификатора следует специальный оператор <- который объявляет-инициализирует глобальную переменную. Дело в том что вы не сможете объявить глобальную переменную без инициализации - если не послушаться этому правилу вы получите ошибку. Но и этого не достаточно для того, что бы научиться разделять локальные и глобальные переменные. Локальные переменные в отличии от глобальных переменные существуют только в определенном блоке инструкций (блок инструкций заключается в { }). Глобальные-же переменные объявляются вне блоков инструкций и существуют всегда (если не удалить их вручную). Ниже представлен листинг кода показывающий правила объявления / инициализации глобальных и локальных переменных. [Исходный код] Перейти [Результат] ![]() Комментарии Блок инструкций Функции Когда я начинал изучать программирование, моей целью стояло заказать правдивость авторских слов на примере. Давайте попробуем объявить и инициализировать несколько переменных различных типов, и заставим компьютер вывести их тип. [Исходный код] Перейти [Результат] ![]() Ключевое слово typeof Стиль программирования Заключение Этот урок был неким введением в язык программирования Squirrel, именно по этому материал не был насыщен практическими примерами. В следующем уроке мы подробно разберем каждый тип данных на примере решения прикладных задач. На мой взгляд самой интересной частью будет тема посвященная побитовым операциям (работа на уровне бит). |