I have seen the hash character '#' being added to the front of variables a lot in Lua.
What does it do?
EXAMPLE
-- sort AIs in currentlevel table.sort(level.ais, function(a,b) return a.y < b.y end) local curAIIndex = 1 local maxAIIndex = #level.ais for i = 1,#currentLevel+maxAIIndex do if level.ais[curAIIndex].y+sprites.monster:getHeight() < currentLevel[i].lowerY then table.insert(currentLevel, i, level.ais[curAIIndex]) curAIIndex = curAIIndex + 1 if curAIIndex > maxAIIndex then break end end end
Apologies if this has already been asked, I've searched around on the internet a lot but I haven't seem to have found an answer. Thanks in advance!
That is the length operator:
The length operator is denoted by the unary operator #. The length of a string is its number of bytes (that is, the usual meaning of string length when each character is one byte).
The length of a table t is defined to be any integer index n such that t[n] is not nil and t[n+1] is nil; moreover, if t[1] is nil, n can be zero. For a regular array, with non-nil values from 1 to a given n, its length is exactly that n, the index of its last value. If the array has "holes" (that is, nil values between other non-nil values), then #t can be any of the indices that directly precedes a nil value (that is, it may consider any such nil value as the end of the array).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With