Pontos de atenção ao aprender Lua
- Os índices de arrays começam em 1 (diferentemente do 0 da família de linguagens C).
string.len retorna a quantidade de bytes da string, e não a quantidade de caracteres.
- Todas as variáveis não inicializadas são
nil. Atribuir nil a um valor de uma tabela o remove dela.
- Somente
nil e false são falsos logicamente; todos os demais valores, incluindo 0, são verdadeiros.
- Strings e números são convertidos automaticamente em operações matemáticas e comparações, por exemplo,
a = '1' + 2.
- A concatenação de strings usa o operador
.., por exemplo, a = '1' .. 2.
- Dois números de ponto flutuante não podem ser comparados diretamente com
==. Exemplo incorreto: if 89.7 == (3 * 29.9) then.
- Um número de ponto flutuante que pode ser representado exatamente como inteiro é igual ao inteiro correspondente (por exemplo,
1.0 == 1).