diff options
Diffstat (limited to 'src/syslua')
-rw-r--r-- | src/syslua/init.lua | 22 | ||||
-rw-r--r-- | src/syslua/test.lua | 25 |
2 files changed, 46 insertions, 1 deletions
diff --git a/src/syslua/init.lua b/src/syslua/init.lua new file mode 100644 index 0000000..1ee7ee6 --- /dev/null +++ b/src/syslua/init.lua @@ -0,0 +1,22 @@ +print "Lua helpers for Kogata v1" + +do + local old_tostring = tostring + function tostring(x) + if type(x) == "table" then + if next(x) == nil then + return '{}' + end + local q = '{\n ' + for k, v in pairs(x) do + if q:len() > 4 then + q = q .. ',\n ' + end + q = q .. k .. ': ' .. tostring(v):gsub('\n', '\n ') + end + return q .. '\n}' + else + return old_tostring(x) + end + end +end diff --git a/src/syslua/test.lua b/src/syslua/test.lua index 67b2852..7c9989c 100644 --- a/src/syslua/test.lua +++ b/src/syslua/test.lua @@ -1,7 +1,29 @@ print("Hello, world! (printed)") +local t = {} -return function(n) +function t.decomp(x) + local ret = {} + for i = 2, x do + while x % i == 0 do + table.insert(ret, i) + x = x // i + end + end + return ret +end + +function t.pretty(n) + for i = 1, n do + local d = t.decomp(i) + for _, v in pairs(d) do + io.stdout:write(('-'):rep(v) .. ' ') + end + io.stdout:write('\n') + end +end + +function t.guess(n) local a = math.random(n) while true do io.stdout:write("Guess? ") @@ -17,3 +39,4 @@ return function(n) end end +return t |