local ListAssistant = {}
ListAssistant.__index = ListAssistant
function ListAssistant.new(data)
return setmetatable({data = data},
ListAssistant)
end
-- return can give several values at once
function ListAssistant:get_first_last()
local count = #self.data
if count > 0 then
return self.data[1], self.data[count]
end
return -1, -1
end
local assistant = ListAssistant.new({2, 3, 5})
-- Each value goes to its own variable
local first, last = assistant:get_first_last()
-- first = 2
-- last = 5
local empty = ListAssistant.new({})
local no_first, no_last = empty:get_first_last()
-- no_first = -1
-- no_last = -1
print("first = " .. first)
print("last = " .. last)
print("no_first = " .. no_first)
print("no_last = " .. no_last)