clasp
Minimal Lua class library in 4 lines of code: https://github.com/evolbug/lua-clasp
class = require "clasp" -- Basic class Vector = class { isVector = true; -- static values init = function(self, x, y) -- initializer function self.x = x self.y = y end; } a = Vector(10, 10) print('Vector:', a.x, a.y, a.isVector) -- "Vector: 10 10 true" -- Inheritance Vector3 = Vector:extend { init = function(self, x, y, z) -- function overriding Vector.init(self, x, y) -- superclass method call self.z = z end; } b = Vector3(1, 2, 3) print('Vector3:', b.x, b.y, b.z, b.isVector) -- "Vector3: 1 2 3 true" -- Metamethods Point = class { init = function(self, x, y) self.x = x self.y = y end; __ = { -- metamethod table tostring = function(self) return 'Point('..tostring(self.x)..', '..tostring(self.y)..')' end; }; } c = Point(15, 25) print(c) -- "Point(15, 25)"
Other Languages
Dansk –
Deutsch –
English –
Español –
Français –
Indonesia –
Italiano –
Lietuviškai –
Magyar –
Nederlands –
Polski –
Português –
Română –
Slovenský –
Suomi –
Svenska –
Türkçe –
Česky –
Ελληνικά –
Български –
Русский –
Српски –
Українська –
עברית –
ไทย –
日本語 –
正體中文 –
简体中文 –
Tiếng Việt –
한국어
More info