Files
Basalt2/example.lua
Robert Jelic 2b8a0764bc LuaLS Test
2025-02-10 16:47:00 +01:00

32 lines
644 B
Lua

---@generic Element: Animal
---@class Animal
---@field setName fun(self: Element, name: string): Element
local Animal = {}
---@class Dog : Animal
---@field setSpeed fun(self: Dog, speed: number): Dog
local Dog = setmetatable({}, { __index = Animal })
---@generic Element: Animal
---@param self Element
---@param length string
---@return Element
function Animal:setLength(length)
self.length = length
return self
end
function Dog:setSpeed(speed)
self.speed = speed
return self
end
---@return Dog
function Dog.new()
return setmetatable({}, { __index = Dog })
end
local dog = Dog.new()
dog:setName("Rex")
:setSpeed(10)