Для начала установим сам Lua:
sudo pacman -S lua
# Проверяем:
lua -v
Далее ставим менеджер пакетов LuaRocks:
sudo pacman -S luarocks
# Проверяем:
luarocks --version
Теперь можно в самом REPL выполнить код:
print("Привет, говняшка!")
Если мы хотим написать код в файле, то сохраняем print("Привет, говняшка!") в файл myfile.lua и затем указываем этот файл интерпретатору Lua:
lua myfile.lua
my-lua-project/ ├─ main.lua ├─ utils.lua └─ init.lua
Для начала создадим два файла: main.lua и myfile.lua. Основным у нас будет main.lua. И в нём мы будем подключать файл myfile.lua.
В файле myfile.lua пишем:
-- myfile.lua
local M = {}
function M.say_hi()
print("Это строка из функции say_hi!")
end
return M
И теперь в main.lua подключаем файл myfile.lua:
-- main.lua
local myfile = require("myfile")
myfile.say_hi()
И теперь осталось запустить main.lua:
lua main.lua
Важная особенность Lua, к которой надо привыкнуть: таблицы – это всё! В Lua и массивы, и словари, и объекты, и структуры, и классы – всё table.
Ещё один небольшой пример:
-- main.lua
local buser = {
name = "Mark",
age = 20,
greet = function(self)
print("Привет, я " .. self.name)
-- self.name – то же самое, что и self["name"]
end
}
buser:greet()
То же самое:
-- main.lua
local buser = {}
buser.name = "Mark"
buser.age = 20
buser.greet = function(self)
print("Привет, я " .. self.name)
end
buser:greet()