С возвращаемым значением

Классы / Методы

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)