Recompiled.
This commit is contained in:
parent
c77ee8f8f9
commit
18365e02b1
@ -52,12 +52,27 @@ if (1 > 10):
|
||||
..else:
|
||||
say "this will print"
|
||||
|
||||
if (1 > 3):
|
||||
say "this won't print"
|
||||
..else: if (1 < 2):
|
||||
say "this won't print"
|
||||
..else:
|
||||
say "this will print"
|
||||
# For longer conditionals, a "when" branch is the best option
|
||||
when:
|
||||
? 1 > 4:
|
||||
say "this won't print"
|
||||
? 1 > 3:
|
||||
say "this won't print"
|
||||
? 1 > 2:
|
||||
say "this won't print"
|
||||
?:
|
||||
say "this will print"
|
||||
|
||||
# When "when" is given an argument, it works like a switch statement
|
||||
when 3:
|
||||
== 1:
|
||||
say "this won't print"
|
||||
== 2:
|
||||
say "this won't print"
|
||||
== 3:
|
||||
say "this will print"
|
||||
==:
|
||||
say "this won't print"
|
||||
|
||||
# Loops look like this:
|
||||
for %x in [1,2,3]:
|
||||
|
24
utils.lua
24
utils.lua
@ -91,6 +91,8 @@ utils = {
|
||||
start, stop, step = 1, start, 1
|
||||
elseif step == nil then
|
||||
step = 1
|
||||
elseif step == 0 then
|
||||
error("Range step cannot be zero.")
|
||||
end
|
||||
return setmetatable({
|
||||
start = start,
|
||||
@ -105,9 +107,31 @@ utils = {
|
||||
end
|
||||
end
|
||||
return iter, self, 0
|
||||
end,
|
||||
__index = function(self, i)
|
||||
if type(i) ~= "Number" then
|
||||
return nil
|
||||
end
|
||||
if i % 1 ~= 0 then
|
||||
return nil
|
||||
end
|
||||
if i <= 0 or i - 1 > (self.stop - self.start) / self.step then
|
||||
return nil
|
||||
end
|
||||
return self.start + (i - 1) * self.step
|
||||
end,
|
||||
__len = function(self)
|
||||
local len = (self.stop - self.start) / self.step
|
||||
if len < 0 then
|
||||
len = 0
|
||||
end
|
||||
return len
|
||||
end
|
||||
})
|
||||
end,
|
||||
nth_to_last = function(list, n)
|
||||
return list[#list - n + 1]
|
||||
end,
|
||||
keys = function(t)
|
||||
local _accum_0 = { }
|
||||
local _len_0 = 1
|
||||
|
Loading…
Reference in New Issue
Block a user