lua.lua
795 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
-- Lua Syntax Test File
-- Some comments about this file
-- Hello World Program
print "Hello World"
print "An Open String
-- Factorial Calculator
function factorial(n)
if n == 0 then
return 1
end
return n * factorial(n - 1)
end
-- Fibonacci Numbers
fibs = { 1, 1 }
setmetatable(fibs, {
__index = function(name, n)
name[n] = name[n - 1] + name[n - 2]
return name[n]
end
})
-- string buffer implementation
function newbuf ()
local buf = {
_buf = {},
clear = function (self) self._buf = {}; return self end,
content = function (self) return table.concat(self._buf) end,
append = function (self, s)
self._buf[#(self._buf) + 1] = s
return self
end,
set = function (self, s) self._buf = {s}; return self end,
}
return buf
end