local Calc = {}
Calc.__index = Calc
function Calc.new()
return setmetatable({last_sum = -1}, Calc)
end
-- The colon declares the hidden parameter self
function Calc:get_sum(n1, n2)
self.last_sum = n1 + n2
return self.last_sum
end
local calc = Calc.new()
-- The colon passes calc as self
local sum1 = calc:get_sum(5, 3)
-- sum1 = 8
local sum2 = calc:get_sum(2, 3)
-- sum2 = 5
-- calc.last_sum = 5
print("sum1 = " .. sum1)
print("sum2 = " .. sum2)
print("calc.last_sum = " .. calc.last_sum)