Duvida sobre matrizes parte II - e sobre a questão de comandos que funcionam em mais de uma linguagem

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Duvida sobre matrizes parte II - e sobre a questão de comandos que funcionam em mais de uma linguagem

Leonardo Ivo Neves da Silva
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

--
--
Lua BR - http://groups.google.com/group/lua-br
 
 
 
Reply | Threaded
Open this post in threaded view
|

Re: Duvida sobre matrizes parte II - e sobre a questão de comandos que funcionam em mais de uma linguagem

Tomás Guisasola-2
  Oi Leonardo

On Fri, 25 Jan 2013, Leonardo Ivo Neves da Silva wrote:

> .  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?
  Você disse que ficou "encucado", mas não entendi o que foi que
te deixou encucado.
  O trecho de código acima, em Lua, está criando uma string.
Strings podem ser delimitadas com aspas simples ('), aspas duplas (")
ou com dois colchetes, intermediados por qualquer número de iguais,
como por exemplo:

a = "a,b,c"
a = 'a,b,c'
a = [[a,b,c]]
a = [==[a,b,c]==]

  Todas as linhas acima fazem exatamente a mesma coisa e nenhuma
delas é uma estrutura de dados, apenas uma sequência de caracteres:
a letra 'a', uma vírgula, a letra 'b', outra vírgula e a letra 'c'.
Nada mais que isso :-)

  Se você quer uma matriz, tem que usar tabelas, pois é a única
estrutura de dados em Lua, embora, naturalmente, você possa usar uma
string para guardar dados de uma forma complicada e limitada :-)

  Abraço,
  Tomás

--
--
Lua BR - http://groups.google.com/group/lua-br



Reply | Threaded
Open this post in threaded view
|

Re: Duvida sobre matrizes parte II - e sobre a questão de comandos que funcionam em mais de uma linguagem

Leonardo Ivo Neves da Silva
Gente,
  Obrigado pelas informações. ME ajudou bastante.

Leonardo Ivo
Rio de JAneiro-RJ


Em 25 de janeiro de 2013 16:24, Tomas Guisasola Gorham <[hidden email]> escreveu:
        Oi Leonardo


On Fri, 25 Jan 2013, Leonardo Ivo Neves da Silva wrote:
.  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?
        Você disse que ficou "encucado", mas não entendi o que foi que
te deixou encucado.
        O trecho de código acima, em Lua, está criando uma string.
Strings podem ser delimitadas com aspas simples ('), aspas duplas (")
ou com dois colchetes, intermediados por qualquer número de iguais,
como por exemplo:

a = "a,b,c"
a = 'a,b,c'
a = [[a,b,c]]
a = [==[a,b,c]==]

        Todas as linhas acima fazem exatamente a mesma coisa e nenhuma
delas é uma estrutura de dados, apenas uma sequência de caracteres:
a letra 'a', uma vírgula, a letra 'b', outra vírgula e a letra 'c'.
Nada mais que isso :-)

        Se você quer uma matriz, tem que usar tabelas, pois é a única
estrutura de dados em Lua, embora, naturalmente, você possa usar uma
string para guardar dados de uma forma complicada e limitada :-)

        Abraço,
                Tomás

--
--
Lua BR - http://groups.google.com/group/lua-br
 
---
Você está recebendo esta mensagem porque se inscreveu no grupo "Lua BR" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para [hidden email].
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.
 
 
Reply | Threaded
Open this post in threaded view
|

Re: Duvida sobre matrizes parte II - e sobre a questão de comandos que funcionam em mais de uma linguagem

Leonardo Ivo Neves da Silva
A própósito, Quando crio matrizes com aquele formato acima (o primeiro exemplo), ele gera uma fila dupla. Por que isso acontece?

Att,

Leonardo Ivo


Em 31 de janeiro de 2013 16:34, Leonardo Ivo Neves da Silva <[hidden email]> escreveu:
Gente,
  Obrigado pelas informações. ME ajudou bastante.

Leonardo Ivo
Rio de JAneiro-RJ


Em 25 de janeiro de 2013 16:24, Tomas Guisasola Gorham <[hidden email]> escreveu:

        Oi Leonardo


On Fri, 25 Jan 2013, Leonardo Ivo Neves da Silva wrote:
.  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?
        Você disse que ficou "encucado", mas não entendi o que foi que
te deixou encucado.
        O trecho de código acima, em Lua, está criando uma string.
Strings podem ser delimitadas com aspas simples ('), aspas duplas (")
ou com dois colchetes, intermediados por qualquer número de iguais,
como por exemplo:

a = "a,b,c"
a = 'a,b,c'
a = [[a,b,c]]
a = [==[a,b,c]==]

        Todas as linhas acima fazem exatamente a mesma coisa e nenhuma
delas é uma estrutura de dados, apenas uma sequência de caracteres:
a letra 'a', uma vírgula, a letra 'b', outra vírgula e a letra 'c'.
Nada mais que isso :-)

        Se você quer uma matriz, tem que usar tabelas, pois é a única
estrutura de dados em Lua, embora, naturalmente, você possa usar uma
string para guardar dados de uma forma complicada e limitada :-)

        Abraço,
                Tomás


--
--
Lua BR - http://groups.google.com/group/lua-br
 
---
Você está recebendo esta mensagem porque se inscreveu no grupo "Lua BR" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para [hidden email].
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.