File: lua.lua

package info (click to toggle)
editra 0.5.30-1
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 9,904 kB
  • ctags: 7,945
  • sloc: python: 48,713; sql: 258; ansic: 241; sh: 187; php: 45; lisp: 38; tcl: 24; perl: 23; pascal: 21; haskell: 20; xml: 18; java: 18; cs: 18; erlang: 17; makefile: 17; cpp: 16; ruby: 16; asm: 15; csh: 9; ml: 9; ada: 9
file content (38 lines) | stat: -rw-r--r-- 795 bytes parent folder | download | duplicates (6)
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