Pular para o conteúdo principal

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).