Demo Scripts

lua-users home
wiki

We want to [showcase] Lua. What scripts can do that? Add yours here...

-- Curried fripperies
put_in = function (t)
         local f
         f = function (k)
             if k then t[k] = true; return f
             else return end -- if
         end -- function
         return f
         end -- function
bag, enough = {}
put_in (bag) "wibble" (57) "grumpkin" "foo" (enough)
for k,v in pairs(bag) do print("bag has",k,"?",v) end

--- the classic recursive example:
function factorial(n)
    if n == 0 then
        return 1
    else
        return n * factorial(n-1)
    end
end

io.write("factorial of 10 is ", factorial(10), "\n")

-- and its tail recursive variant
fact = function (n)
       local f
       f = function (m,a)
           if m == 0 then return a end -- if
           return f(m-1,m*a) end -- function
       return f(n,1) end -- function
print("factorial of 10 is",fact(10))

RecentChanges · preferences
edit · history
Last edited March 28, 2010 4:11 pm GMT (diff)