Lua/Основы: различия между версиями

Материал из Викиучебника — открытых книг для открытого мира
< Lua
Содержимое удалено Содержимое добавлено
Нет описания правки
Метка: редактор вики-текста 2017
→‎Форматы файлов: стилевые правки, категоризация
Метка: редактор вики-текста 2017
Строка 2: Строка 2:


== Форматы файлов ==
== Форматы файлов ==
Все файлы скриптов имеют расширение .lua, например, hello.lua - будет скриптом .lua
Все файлы скриптов на Lua имеют расширение .lua, например, hello.lua - будет скриптом .lua


Если мы захотим запустить наш скрипт, то в терминале надо ввести:<syntaxhighlight lang="bash">
Если мы захотим запустить наш скрипт, то в терминале надо ввести:<syntaxhighlight lang="bash">
Строка 9: Строка 9:


== "Привет мир" ==
== "Привет мир" ==
Если Lua ваш первый язык программирования, то мы вас познакомим с хорошей традицией: всегда первая ваша программа - вывод фразы "Привет мир" ("Hello world") в терминал. В языке Lua это будет выглядеть так:<syntaxhighlight lang="lua">
Если Lua ваш первый язык программирования, то мы вас познакомим с традицией: всегда первая ваша программа - это вывод фразы "Привет мир" ("Hello world") в терминал. В языке Lua это будет выглядеть так:<syntaxhighlight lang="lua">
print("Hello World") --> "Hello World"
print("Hello World") --> "Hello World"
</syntaxhighlight>Предположим, что вы это написали в файле hello.lua. Запустите этот файл при помощи команды в терминале:<syntaxhighlight lang="bash">
lua hello.lua
</syntaxhighlight>
</syntaxhighlight>


Строка 106: Строка 108:
|Следующая глава=Типы данных
|Следующая глава=Типы данных
}}
}}

{{BookCat}}

Версия от 17:29, 18 июня 2021

← Вступление Глава Типы данных →
Основы


Форматы файлов

Все файлы скриптов на Lua имеют расширение .lua, например, hello.lua - будет скриптом .lua

Если мы захотим запустить наш скрипт, то в терминале надо ввести:

lua hello.lua

"Привет мир"

Если Lua ваш первый язык программирования, то мы вас познакомим с традицией: всегда первая ваша программа - это вывод фразы "Привет мир" ("Hello world") в терминал. В языке Lua это будет выглядеть так:

print("Hello World") --> "Hello World"

Предположим, что вы это написали в файле hello.lua. Запустите этот файл при помощи команды в терминале:

lua hello.lua

Переменные

Создаем переменные

Фундаментальным понятием в любом языке программировании является переменная. Переменная - это область памяти, которая содержит в себе один объект. Если провести аналогию, то переменная - это коробка, в которую можно положить только один объект. При этом под объектом может быть слово, цифра, и так далее. Мы попробуем создать сразу 2 переменные a и b:

-- 1-ый пример
a = 1
b = 2
-- 2-ый пример
a = 5; b = 4
-- 3-ий пример
a = 5; b = 4;
-- 4-ый пример
a = 7 b = 9

Как вы видите, мы смогли их создать 4-мя способами. Мы с вами рассмотрели простейшие примеры, когда переменная инициализируется (то есть, создается). А что если мы попробуем воспользоваться не созданной переменной?

--переменная а не создана
print(a) --> nil

Оно выведет nil. Что это? Фактически, это тип данных (или для простоты: некое значение, как цифра, буква или слово), который представляет из себя "ничего" и аналогичен NULL, None в других языках. Обратите внимание, что для создания переменной мы использовали = - это, так называемый, знак присваивания, благодаря которому происходит операция присваивания. Как я уже говорил ранее, присваивать можно только один объект, будь то число или строка, но только один. Тем не менее, можно использовать, так называемое, множественное присваивание - присвоить двум переменным два значения:

a,b = 1,2 --> то же самое, что a = 1, b = 2
x,y,z = 12,15
print(x,y,z) --> 12,15,nil

В случае, если вы не присвоили какое-либо значение переменной, то ей будет присвоено значение nil. Можно проделать и такой трюк:

a = 5; b = 4
a,b = b,a 
print(a,b) --> 4,5

Присваивать можно одной переменной можно разные значения, при этом, у старое значение переменной будет удалено сборщиком мусора:

a = 5
print(a) --> 5
a = 7
print(a) --> 7

Виды переменных

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

for i = 1,50 do
    local x = i^2 -- локальная переменная х только в итераторе
    print(x)
end 
print(x) --> nil, потому, что х сущетсвует только в области итератора

И обратный пример показывающий использование глобальной переменной:

pi = 3.14
for i = 1,50 do
    print(i*pi) --> 1*3.14, 2*3.14 и т.д.
end
print(pi) --> 3.14

А как назвать переменную?

Во многих языках программирования существуют, так называемые, зарезервированные слова. Мы позже будем изучать условные конструкции и там будет конструкция if или в циклах - while: именно потому вы не можете использовать названия этих конструкций.

Вы не можете использовать переменные, которые начинаются с _ и следует заглавные буквы (например _INPUT).

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

Комментируем код

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

Закомментируемый код не будет выполнятся

Как в любом другом языке, существует 2 типа комментариев:

  • Строчные комментарии обозначаются в коде как -- и используются только для одной строки. Пример мы видели выше:
-- 1-ый пример
a = 1
b = 2
-- 2-ый пример
a = 5; b = 4
-- 3-ий пример
a = 5; b = 4;
-- 4-ый пример
a = 7 b = 9
  • Существуют также блочные комментарии, которые позволяют создать комментарий на несколько строк. Для этого используется конструкция --[[ ... --]]. Например:
a = 5
--[[ выше мы объявили переменную
а ниже - мы выведем ее значение --]]
print(a)



← Вступление Типы данных →