Переменные в языке Lua

Переходим к главе, которая присутствует абсолютно в любом языке программирования. Какой бы язык программирования вы не выбрали вы обязательно встретите переменные.

Переменные предназначены для временного хранения значений. Предположим нам необходимо выполнить самое простое вычисление 2 + 2, результат будет 4. Для того чтобы запомнить результат вычисления, необходимо объявить переменную, куда и поместим результат. Перед тем как объявлять переменную, определимся с типами переменных.

Типы переменных

Значения бывают разные, а переменные хранят определённые значения. Определимся с типами данных, которые могут храниться в переменных.

nil — это такой тип данных, который говорит нам о том, что переменная не содержит никакого значения. Просто пустая переменная.

Boolean — это логический тип данных, значений может быть лишь только 2, истина либо ложь. Для записи используются два слова true (истина) или false (ложь).

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

Number — это тип число. При объявлении переменной нет необходимости указывать, какое именно число мы хотим хранить, будь то маленькое число или большое число или даже очень большое число, а также целое или не целое, всё это относится к типу данных Number.

String — это текстовый тип данных. В такие переменные мы можем помещать абсолютно любой текст.

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

Table — тип данных таблица. Если нам необходимо хранить в одной переменной несколько значений, то можете воспользоваться таким типом данных как таблица. Иногда таблицу называют массивом, я не уделяю этому особого значения, так как и таблица и массив выполняют примерно одно и тоже.

Userdata — типы данных пользовательские данные. Это такой специальный тип данных, который никак не описать. Тут могут храниться любые данные, любой структуры, но нам особо и не важно знать как они там хранятся, в каком виде, главное чтобы с этими данными можно было работать.

Разобрались какие бывают типы, теперь можно переходить к объявлению переменных, но для начала поговорим об области видимости переменных.

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

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

В языке программирования lua можно объявить локальную переменную или глобальную переменная.

Локальная переменная видна лишь только в той области где мы ее объявили, а вот глобальная переменная видна отовсюду.

Область видимости это как бы кусок кода который мы пишем. Например если мы описываем функцию, то локальные переменные объявленные в этой функции, будут видны лишь в пределах нашей функции, а вот за ее пределами к таким переменным мы обратиться не сможем.

Чтобы стало немного понятней, можно привести пример из жизни.

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

Если вы в одной функции объявили глобальную переменную и присвоили ей значение, то к этой переменной вы можете обратиться как из текущей функции, так и из любой другой функции, а также изменить ее значение.

Ну и наконец переходим к объявлению переменных.

Объявление переменных

Для того чтобы объявить переменную, нам необходимо придумать имя переменной. Имя может быть любое, главное помнить что язык является регистро-зависимым.

Приведу первый пример объявления переменной

В этом примере я объявил переменную, которой дал имя name, а также присвоил ей число 10. Таким образом созданная мною переменная стала числовой. В языке lua нет необходимости конкретно указывать какую переменную мы хотим создать, просто присваиваем переменной значение, а тип переменной определяются автоматически.

Теперь второй момент в этом примере. Этой строкой я объявил глобальную переменную, то есть к такой переменной я могу обратиться откуда угодно. Если же мне необходимо объявить локальную переменную, то перед именем необходимо написать local.

Теперь моя переменная является локальной и видна лишь только в той области где я ее создал.

Переходим к следующему типу переменных это текстовые.

В этом примере переменная nameText, является именно текстом, а не числом. Переменные name и nameText, являются разными переменными, так как у них разный тип.

Следующий пример, объявление логической переменной.

Объявил глобальную переменную nameBool которая является логической переменной и имеет значение истина.

А теперь создадим таблицу

Глобальная переменная nameTable теперь таблица, но в этой таблице пока что нет данных. Таблицам будет посвящена отдельная глава, так как информации очень много, а сейчас лишь только помещу одно значение в таблицу.

В первой строке я объявил таблицу, а во второй строке поместил значение 10 под номером 1 в объявленной таблице. Это не единственная возможность добавлять значения в таблицу, но как я уже сказал о таблицах будем говорить отдельно.

Последний описанный тип данных «пользовательские данные», в данный момент мы также рассматривать не будем, так как это особый тип данных и столкнемся мы с этим типом гораздо позже.

Самое главное о переменных вы узнали. Двигаясь дальше мы будем постоянно работать с переменными. Уже сейчас вы можете потренироваться в объявлении переменных, а также присваивать им значение. Чтобы вам было не так скучно, Воспользуйтесь следующим кодом.

В этом примере в первой строке я объявил переменную name, а во второй строке вывел значение переменной в сообщении, которое можно увидеть в терминале QUIK.

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

Постоянная ссылка на это сообщение: https://k-pavel.ru/peremennye-v-jazyke-lua/

avatar
2 Цепочка комментария
1 Ответы по цепочке
1 Последователи
 
Популярнейший комментарий
Цепочка актуального комментария
3 Авторы комментариев
ffffПавел КашинскийМаксим Авторы недавних комментариев

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.

  Subscribe  
Новые Старые Популярные
Подписаться на
ffff
Гость
ffff

Впринципе я сюда заглянул что-бы посмотреть на таблицы. Ну что-ж пойду искать статейку про неё

Максим
Гость
Максим

Все получилось