diff --git a/examples/test.lua b/examples/test.lua index c88c080..d5b3a79 100644 --- a/examples/test.lua +++ b/examples/test.lua @@ -1,9 +1,106 @@ +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") + -table = { 1, 2, 3 } SETMETATABLE(table, { __add = function () return 1 end }) -print(table + 5); \ No newline at end of file +print(table + 5) \ No newline at end of file