global b = 5 function add(x) return function (y) x = x + 1 b = b + 1 return x + y, 1, 2, b end end function min(x, y) local m = x if y < x then m = y end return m end function f(x, ...) local b = {10, ..., add(10)(15)} return x + 5, b end global sometable = {} sometable["hello"] = { 100, 150, add(10)(15) } print(#sometable["hello"]) sometable["hello"].there = "my dude" print(sometable.hello.there) print(max(11.12345, 9)) print(add(10)(15)) print(add(10)(15)) print(b) print(min(11, 9)) print(10 - 15) print("hello there!") print(true or 0) global value, table = f(10, 11, 12) print("hello") for i=1,#table do print(table[i]) if i > 2 then goto test end end ::test:: local test = table[1] if test == 10 then print("first") elseif test == 11 then print("second") else print("third") end print("after if/elseif/else") local i = 0 print("before") while i < 10 do i = i + 1 print(i) end print("after while") local i = 0 print("before") repeat i = i + 1 print(i) until i >= 10 print("after repeat") function ipairs(t) print("inside!") local i = 0 return function (state, control) print(state, control) i = i + 1 if i > #table then return nil, nil end return i, t[i] end, "otus", "potus" end for k, v in (ipairs(table)) do print(k, v) end print("hello " .. "there") SETMETATABLE(table, { __add = function () return 1 end }) print(table + 5)