Gente,
Estou com uma dúvida que no
www.lua.org
não encontrei explicação. E sobre a criação de matrizes. Embora vocês
tenham me passado sugestões de formas de criação de matrizes, estas de
fato funcionam, embora o exemplo dado pelo site do lua não gere uma
matriz, mas sim uma fila dupla .
http://www.lua.org/pil/11.2.html Vejam:
mt = {} -- create the matrix
for i=1,N do
mt[i] = {} -- create a new row
for j=1,M do
mt[i][j] = 0
end
end. Mais eu descobri uma forma de criação de
matrizes e mesmo tabelas que tem me encucado, mas que não encontro
explicação na documentação do Lua. Eu ha uns meses atras peguei uma
matriz em python e coloquei num fonte em Lua. Vejam:
self.squares = [['e','e','e','e','e','e','e','e'],\
['e','e','e','e','e','e','e','e'],\
['e','e','e','e','e','e','e','e'],\
['e','e','e','e','e','e','e','e'],\
['e','e','e','e','e','e','e','e'],\
['e','e','e','e','e','e','e','e'],\
['e','e','e','e','e','e','e','e'],\
['e','e','e','e','e','e','e','e']]
Teoricamente
o interpretador deveria acusar esso, mas isso não aconteceu. Ele
interpretou como tabela ou cadeia de caracteres. Sempre soube que para
criação de tabela se usa {} e para dar nome os indices [""]. E nesse
caso, a cadeia de caracteres ou tabela está sendo aberta e fechada com
[]. A propósito, eu também percebi que determinados comandos, como estes
que descrevi,acima funcionam em ambas as linguagens, algo que não
acontece em outras linguagens de programação. O que vocês tem a dizer
sobre isso? Tem alguma explicação?
Att,
Leonardo Ivo
Rio de Janeiro-RJ