What do you need to know to start scripting in LUA?
1: 0 is true!
local v = 0 if v then print('YES! ZERO IS TRUE!') print('That is why many functions return "nil" (which is false)') end
2: elseif != else if
if something then print(1) else if somethingOther then print(2) end
ERROR?! WHAT?! YES!
In LUA else if
is one word elseif
.
As there are no one-line if
s without end
, you need to write:
if something then print(1) elseif somethingOther then print(2) end
or:
if something then< print(1) else if somethingOther then print(2) end end
Multi-line formatting is ignored, whole LUA program can be in 1 line!
3: Tables are indexed from 1!
Tables/arrays are indexed from 1, not 0!
local table = {1, 2, 3, 4, 5} for k, v in pairs(table) do print(k .. ' = ' .. v) end print(table[0])
Result:
1 = 1 2 = 2 3 = 3 4 = 4 5 = 5 nil -- reading not assigned index returns magic "nil" from point 1