Skip to content

Instantly share code, notes, and snippets.

@Deco
Deco / geometry.lua
Created February 2, 2012 08:18 — forked from Deco/geometry.lua
Luvit module example (using local _M table) (my personal choice)
local OO = require"oo"
local _M = {}
do _M.Shape = OO.class({
})
function _M.Shape:__init()
error("attempt to instantiate abstract shape")
end
@Deco
Deco / geometry.lua
Created February 2, 2012 08:30 — forked from Deco/geometry.lua
Luvit module example (using local _M table and self-referencing)
local OO = require"oo"
local _M = {}
do _M.Shape = OO.class({
})
function _M.Shape:__init()
error("attempt to instantiate abstract shape")
end
@Deco
Deco / geometry.lua
Created February 2, 2012 08:09 — forked from Deco/geometry.lua
Luvit module example (using module)
local OO = require"oo"
local setmetatable = setmetatable
local error, assert = error, assert
local type = type
local newproxy = newproxy
local math = require"math"
local tonumber = tonumber
module("geometry")
@Deco
Deco / geometry.lua
Created February 2, 2012 08:12 — forked from Deco/geometry.lua
Luvit module example (using exported locals)
local OO = require"oo"
local Shape, Rectangle, Circle
do Shape = OO.class({
})
function Shape:__init()
error("attempt to instantiate abstract shape")
end
@Deco
Deco / geometry.lua
Created February 2, 2012 08:11 — forked from Deco/geometry.lua
Luvit module example (using setfenv to emulate module function)
local OO = require"oo"
local setmetatable = setmetatable
local error, assert = error, assert
local type = type
local newproxy = newproxy
local math = require"math"
local tonumber = tonumber
local getfenv=getfenv setfenv(1, {})