Вернуться назад

Lua

Для начала установим сам 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()