-- Chapter 26 example: a dog with state and a method. local dog = { name = "Rex", barks_left = 3, } function dog:bark() if self.barks_left <= 0 then print(self.name .. " is hoarse.") return end print(self.name .. ": Woof!") self.barks_left = self.barks_left - 1 end dog:bark() dog:bark() dog:bark() dog:bark()