-- Homework 27, problem 3 -- solution. local Rectangle = {} Rectangle.__index = Rectangle function Rectangle.new(w, h) local self = setmetatable({}, Rectangle) self.w = w self.h = h return self end function Rectangle:area() return self.w * self.h end function Rectangle:perimeter() return 2 * (self.w + self.h) end local r1 = Rectangle.new(3, 4) local r2 = Rectangle.new(10, 2) print(r1:area()) print(r1:perimeter()) print(r2:area()) print(r2:perimeter())