File: lua.lua

package info (click to toggle)
editra 0.6.58-1
  • links: PTS
  • area: main
  • in suites: wheezy
  • size: 13,320 kB
  • sloc: python: 71,924; sql: 258; ansic: 242; sh: 187; php: 45; tcl: 38; lisp: 38; perl: 23; java: 22; pascal: 21; cpp: 20; haskell: 20; xml: 18; cs: 18; erlang: 17; ruby: 16; asm: 15; ada: 9; csh: 9; makefile: 9; ml: 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