Код IT
← Каталог

Объектно-ориентированное программирование в Lua — Создание класса и экземпляра

Фрагмент из «Объектно-ориентированное программирование в Lua»: Создание класса и экземпляра.

Lua main.lua
local Config = {
    name = "Default",
    version = 1.0,
    settings = {debug = false}
}

function Module:new(config)
    local instance = setmetatable({}, {__index = self})
    for key, value in pairs(config or {}) do
        instance[key] = value
    end
    return instance
end

local mod = Module:new({name = "Custom", debug = true})
print(mod.name) -- Custom
print(mod.debug) -- true
local Config = {
    name = "Default",
    version = 1.0,
    settings = {debug = false}
}

function Module:new(config)
    local instance = setmetatable({}, {__index = self})
    for key, value in pairs(config or {}) do
        instance[key] = value
    end
    return instance
end

local mod = Module:new({name = "Custom", debug = true})
print(mod.name) -- Custom
print(mod.debug) -- true