Найти тему
2Players

Язык программирования microScript. Урок №2 – переменные

Оглавление
Meowys Adventure – демо с сайта microStudio
Meowys Adventure – демо с сайта microStudio

Приветствую всех! Вы на канале 2Players и сегодня у нас второй урок по переменным в microScript. Первый урок можете прочитать здесь.

Итак, в прошлом уроке мы разобрались в следующем: что такое переменная, как ее объявлять, как проверить ее значение в консоли. Разобрались как создать проект в качестве гостя. Ну и конечно же попутно познакомились с редактором кода microStudio, как запустить и перезапустить проект (окно запуска), как проверить значение переменной в консоли и отчистить ее от ненужных строк (консоль).

Про многочисленные редакторы в microStudio я расскажу в следующих уроках. Поэтому подпишитесь чтобы их не пропустить!

Что еще вам нужно знать о переменных в microScript?

1. Любая неопределенная переменная по умолчанию равна 0

Объявлять переменные в microScript не обязательно. Любая переменная, которая еще не использовалась, может считаться существующей и иметь значение равное 0. В этом уроке я не буду повторяться и рассказывать о работе в редакторе кода, окне запуска и консоле. Поэтому советую прочитать первую статью для понимания. А если вы уже ознакомились с первым уроком, то движемся дальше:

Напишите в окне редактора в теле функции init следующие строки в столбик:
e = 5
f = e + n

Запустите проект, введите в консоль "f" и нажмите "Enter". В итоге "f" будет равно 5. Мы используем в вычислении неопределенную переменную "n", а так как она не определена, то равна 0. Таким образом, получается что f = 5 + 0 и в итоге f = 5.

В каких-то случаях использование неопределенной переменной может быть полезным, удобным, а в каких-то нет. Просто запомните этот факт про переменные в microScript.

2. Типы значений

В microScript переменной можно присваивать следующие значения:

  1. числа,
  2. строки,
  3. списки,
  4. объекты
  5. функции,
  6. классы.

Вот как это может выглядеть:

Типы значений
Типы значений

Естественно что про все типы значений и структуры, которые мы еще не рассматривали, я расскажу в следующих статьях. Пока просто запомните что переменная может принимать данные типы значений.

Присваивать переменной значение функции, объекта или класса (var5, var6, var7 на скриншоте выше) не желательно. Да и нет такой необходимости. У них и так есть свои имена по которым можно обращаться к ним в программе.

Обратите внимание, что переменная может принимать значение как целого числа, так и дробного. Писать дробное число нужно не через запятую (как в математике) а через точку. Причем, если нужно написать 0.8, то в microScript можно сократить до .8 – просто немного короче.

Еще переменная может принимать логическое значение: x = true (от англ. истина) или x = false (от англ. ложь). Но в microScript вместо логических значений можно использовать 0 – ложь или 1 – истина. Только стоит помнить, что в microScript все что не имеет значение 0 является истиной. Даже если переменная имеет строковое значение, то это значение истинно.

Внимание, на всем выше сказанном пока сильно не концентрируйтесь. Как я уже сказал, все обязательно рассмотрим в следующих уроках.

И последнее что стоит добавить: переменные могут менять свои типы значений в ходе выполнения программы, так как microScript это язык с динамической типизацией. То есть, если вы создадите переменную и присвоите ей числовое значение, например x = 2. А затем чуть ниже напишите x = "string", то теперь переменная x примет строковый тип значения. И т.д.

3. Область видимости переменной

По умолчанию переменные являются глобальными. То есть, переменные доступны везде в программе. Например, переменную объявленную в теле функции init можно использовать в теле функции draw. Чтобы сделать переменную локальной (недоступной за пределами функции в которой она объявлена) нужно использовать ключевое слово "local". Это ключевое слово пишется вначале названия переменной, но разделяется от него пробелом. Например: local x = 3. Взгляните на скриншот ниже:

Области видимости переменных
Области видимости переменных

Первая переменная "x" (x = 5) является глобальной и доступна везде в программе, в том числе и в функции addNum. Ее значение можно посмотреть в консоле.

Вторая переменная "y" (local y = 7) является локальной переменной. Ее область видимости ограничивается функцией init. Она также доступна и в функции addNum, но вот в функции update или draw ее использовать не получится. То есть, она доступна везде между строками init = function() и ключевым словом end, закрывающим эту функцию. Ее значение нельзя посмотреть в консоле (если попробуете то получите значение 0, как у неопределенной переменной).

Переменная в теле функции addNum, "x" (local x = 3), является локальной переменной. Она доступна только в теле функции в которой она объявлена и нигде более.

Что касается строки z = addNum(x) – здесь мы присваиваем переменной значение, которое вернет функция. А функция вернет нам сумму глобальной переменной "x" и локальной переменной "y".

Сейчас довольно просто запутаться, где заканчивается область видимости переменной. Но вы обязательно научитесь тому, как, где и зачем использовать локальные и глобальные переменные. Будем закреплять полученные знания в следующих уроках, особенно когда дело дойдет до изучения функций.

К слову, для написания игры вам не обязательно понадобится использовать локальные переменные. Тут уже будет зависеть от сложности вашего проекта. Но тем не менее советую разобраться в этой теме.

На сегодня все. Подписывайтесь на канал, чтобы не пропустить новые уроки!