-- 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())
