J'ai vu le caractère de hachage "#" être ajouté à l'avant des variables beaucoup dans Lua.
Qu'est ce que ça fait?
EXEMPLE
-- 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
Excusez-moi si cela a déjà été demandé, j'ai beaucoup cherché sur Internet mais je ne semble pas avoir trouvé de réponse. Merci d'avance!
C'est opérateur de longueur :
L'opérateur de longueur est désigné par l'opérateur unaire #. La longueur d'une chaîne est son nombre d'octets (c'est-à-dire la signification habituelle de la longueur de chaîne lorsque chaque caractère fait un octet).
La longueur d'une table t est définie comme étant tout indice entier n tel que t [n] n'est pas nul et t [n + 1] est nul; de plus, si t [1] est nul, n peut être nul. Pour un tableau régulier, avec des valeurs non nulles de 1 à un n donné, sa longueur est exactement celle n, l'indice de sa dernière valeur. Si le tableau a des "trous" (c'est-à-dire des valeurs nulles entre d'autres valeurs non nulles), alors #t peut être l'un des indices qui précède directement une valeur nulle (c'est-à-dire qu'il peut considérer une telle valeur nulle comme la fin du tableau).