LUA, random notes
26. 7. 2018Roberto Ierusalimschy - Programming in Lua, Third Edition (2013, Lua.org) ↓
-- lua 5.3
-- read 3 lines, storing them in a table
a = {}
for i = 1, 3 do
a[i] = io.read()
end
-- manual print the lines
for c = 1, #a do
print(a[c])
end
Where # is a length operator, it returns the last index or the length of the sequence.
The length operator works on strings and tables. On strings, it gives the number of bytes in the string. On tables, it gives the length of the sequence represented by the table. The length operator provides several common Lua idioms for manipulating sequences:
print(a[#a]) -- prints the last value of sequence 'a'
a[#a] = nil -- removes this last value
a[#a + 1] = v -- appends 'v' to the end of the list
Where sequence is a list without holes.
A useful Lua idiom is
x = x or v
which is equivalent to
if not x then x = v end
Another useful idiom is
(a and b) or c
or simply
a and b or c
because and has a higher precedence than or.
To be continued …