local Counter = {}
Counter.__index = Counter
function Counter.new()
return setmetatable({count = 0}, Counter)
end
-- No return: the call gives no value
function Counter:inc_by(value)
self.count = self.count + value
end
function Counter:inc_by_amount(value, amount)
self.count = self.count + value * amount
end
local counter = Counter.new()
local result = counter:inc_by(1)
-- result = nil
local count1 = counter.count
-- count1 = 1
counter:inc_by_amount(2, 5)
local count2 = counter.count
-- count2 = 11
print("result = " .. tostring(result))
print("count1 = " .. count1)
print("count2 = " .. count2)