Ir para conteúdo
Entre para seguir isso  
Dark

[Aula 7] Tabelas {parte 2}

Recommended Posts

Dark    3
Dark

aulasov2.png

 

Tabelas

(Parte 2)

 

 

Bom depois de muito tempo sem aula (quase 1 ano) eu venho trazer a vocês a continuação da aula de tabelas.

 

Bem se você não leu a última aula é bom você dar uma lida antes de continuar com este tutrial ( Link )

 

Bom agora vamos começar o tutorial

 

 

Bom, primeiramente vamos pegar uma tabela, ou array em um termo mais tecnico, para usarmos como exemplo. Vamos pegar a utima tabela feita no último tutorial.

 


cadastro = {"João", 56, "masculino", "casado"}

Bem, até agora nos pegamos os dados indicando a posição do dado na nossa tabela, mas vamos pensar um pouco. Se nossa tabela de cadastrp divesse 20 informações diferentes, e queremos pegar o "campo" que esta a idade dele mas não lembramos a posição em que ela esta, e então, o que podemos fazer.

 

Como você pode perceber o metodo de pegar um dado de uma tabela pela sua posição em algumas situações podem ficar complicado e inviavel. Então vou mostrar pra vocês uma outra maneira de se conseguir os dados.

 

Uma maneira diferente é você colocar "apelidos" nos campos fazendo com que assim você possa pegar o dado não pela sua posição mas pelo seu "apelido". Para fazer isto basta você usar Apelido = Valor. Veja:

 


cadastro = {nome = "João", idade = 56, sexo = "masculino", estado = "casado"}

Pronto, agora fica muito mais fácil você pegar um valor da sua tabela, para por exemplo pegar o nome e colocar ele em uma variavel você usária:

 


cadastro = {nome = "João", idade = 56, sexo = "masculino", estado = "casado"}

valor = cadastro.nome

Viu como é simples, basta você colocar tabela.apelido e pronto, muito melhor que pegar o valor pela posição dele na tabela.

 

Um outro ponto interessante de se entender é que uma tabela pode armazenar qualquer tipo de valor, inteiro, real, string, function, boolean, e até mesmo outras tabelas.

 

Por exemplo, e se queremos adicionar mais uma pessoa na nossa tabla de cadastro, o que podemos fazer? Simples colocar uma nova tabela e colocar essas duas novas tabelas em uma nova tabela. Parece complicado mas não é ;). Veja:

 


cadastro = [b]{[color=Red]{[/color][/b]nome = "João", idade = 56, sexo = "masculino", estado = "casado"[color=Red][b]}[/b][/color],[b][color=YellowGreen]{[/color][/b]nome = "João", idade = 56, sexo = "masculino", estado = "casado"[b]}}[/b]

Ou para melhor visualização e organização:

 


[left] cadastro = [b]{[/b]
[b][color=Red] {[/color][/b]nome = "João", idade = 56, sexo = "masculino", estado = "casado"[color=Red][b]}[/b][/color][b],[/b][b][color=YellowGreen]
{[/color][/b]nome = "Maria", idade = 30, sexo = "feminino", estado = "solteira"[b]}
}[/b]
[/left]



Agora vamos entender, a tabela cadastro agora tem na verdade 2 campos. Mas por que? Pois cada tabela dentro dela (independente do que tem dentro das tabelas) é 1 valor em 1 posição da tabela cadastro é coo seu eu divesse

 


cadastro = {1,2}

A única diferença é que ao invez de eu ter numeros como valor eu tenho tabelas. E como eu vou pegar, por exemplo, a idade de Maria? Simples é so você usar:

 


[left] cadastro = [b]{[/b]
[b][color=Red] {[/color][/b]nome = "João", idade = 56, sexo = "masculino", estado = "casado"[color=Red][b]}[/b][/color][b],[/b][b][color=YellowGreen]
{[/color][/b]nome = "Maria", idade = 30, sexo = "feminino", estado = "solteira"[b]}
}[/b]

idade = cadastro[2].idade
[/left]



Ali nos falamos para adicionar na variavel idade o valor que esta na tabela cadastro, na posição 2 e la ela vai estar no campo idade. Ou seja pra eu pegar um valor de uma tabela dentro de outra tabela basta eu dizer qual a posição (ou apelido) de onde a tabela esta e em qual posição (ou pelido) esta o valor que você quer.

 

Isso abre um mar de oportunidades e torna os arrays um dos itens mais importantes e poderosos, não só em LUA, mas em várias outras linguagens.

 

E so para saberem, não há praticamente limites para o número de tabelas que você poderá colocar dentro de tabelas. Veja:

 


[left] cadastro = [b]{[/b]
[b][color=Red] {[/color][/b]nome = "João", idade = 56, sexo = "masculino", estado = "casado"[color=Red][color=Black], animais = [b][color=Purple]{[/color][/b]cachorro = "flufy", gato = "mel"[b][color=Purple]}[/color][/b][/color][b]}[/b][/color][b],[/b][b][color=YellowGreen]

{[/color][/b]nome = "Maria", idade = 30, sexo = "feminino", estado = "solteira"[color=Red][color=Black], animais = [b][color=Blue]{[/color][/b]cachorro = [b][color=Orange]{[/color][/b]"flufy", "Dedy"[color=Orange][b]}[/b][/color], gato = "Ariel"[b]}[/b][/color][/color][b]}
}[/b]
[/left]



Bem, é isso, nossa aula termina aqui, na próxima (que espero não demore tanto) irei demonstrar como usar essas tabelas em um script por exemplo, como pegar dados dela com loops, e muitas outras coisas. Até mais.

 

:bye:

 

 

 

 

 

Editado por Dark

Compartilhar este post


Link para o post
Bob Mascado    0
Bob Mascado

Nossa cara essa aulas são otimas ein ...

Mais cara pq se demoro tanto pra posta otra aula ?

Compartilhar este post


Link para o post
Solkyz    0
Solkyz

Ficou bem legal, mas como eu utilizo isto ? pra que serve ?

Compartilhar este post


Link para o post
Cathartic Adept    0
Cathartic Adept

cadastro { 
{nome = "Marcos", idade = "18", Play = "1", Cachorro = "Chow Chow"}
{nome = "Joana", idade = "32", Play "3", cachorro = "Pincher"}

idade  = cadastro[1].cachorro

 

Aqui termina.

Té mais.

Espero ter acertado :)

Compartilhar este post


Link para o post
Solkyz    0
Solkyz

cadastro = {

{nome = "Maria", Idade = "20", Sexo = "Feminino"}

{nome = "Joaquim", Idade = "20", Sexo "Masculino"}}

 

idade = cadastro[1].sexo

 

 

fui um bom aluno?

Compartilhar este post


Link para o post
dbruno    0
dbruno

noossa, a pouco tempo eu tinha lido todas as aulas e vi o tempo que não postavam, não imaginava que voltariam a postar.

Prometa não parar de criar as Aulas!!

brincadeira :)

tô começando a entender melhor, uma boa dica é observar outros scripts.

eu ainda não entendi direito esse negócio no início:

function (iitem1 e 2, frompos, topos)

não lembro direito..

bom, cuidado com os erro de digitação, joga no word e usa o corretor ortográfico.

 

ah, e obrigado :)

Compartilhar este post


Link para o post
marcryzius    0
marcryzius

uma boa aula pra iniciantes.

mecher com array multidimensionais e simples, facil e de grande utilidade.

Compartilhar este post


Link para o post
powerbolt    0
powerbolt

otimo Mermao Muito Bom Cara Jah Estou Aprendendo a Fazer Umas Coisa !!!

Parabens e Obrigado !! =)

Compartilhar este post


Link para o post
'BoDeGaah'!~*    0
'BoDeGaah'!~*

dark uma duvida como acessa a sub-tabela "animais"?

Compartilhar este post


Link para o post
Flatronez    1
Flatronez

@bodegaah

 

Se eu não me engano é assim:

cadastro[1].animais ou cadastro.1.animais

Compartilhar este post


Link para o post
Mock    32
Mock
cadastro { 
{nome = "Marcos", idade = "18", Play = "1", Cachorro = "Chow Chow"}
{nome = "Joana", idade = "32", Play "3", cachorro = "Pincher"}

idade  = cadastro[1].cachorro

 

Aqui termina.

Té mais.

Espero ter acertado :)

 

Correção

cadastro { 
{nome = "Marcos", idade = "18", Play = "1", Cachorro = "Chow Chow"}[b][color="Red"],[/color][/b]
{nome = "Joana", idade = "32", Play "3", cachorro = "Pincher"}[color="Red"][b],[/b][/color]
[b][color="Red"]}[/color][/b]

 

idade = cadastro[1].idade

^^

Compartilhar este post


Link para o post
Dark    3
Dark

@ 'BoDeGaah'!~*

 

Se por exemplo eu quiser pegar o valor "flufy":

 

cadastro = {
      {nome = "João", idade = 56, sexo = "masculino", estado = "casado", animais = {cachorro = "flufy", gato = "mel"}},

      {nome = "Maria", idade = 30, sexo = "feminino", estado = "solteira", animais = {cachorro = {"[b]flufy[/b]", "Dedy"}, gato = "Ariel"}}}

 

eu faço assim:

 

local Nome = cadastro[2].animais.cachorro[1]

 

Entendeu ;)?

Compartilhar este post


Link para o post
paladinpk    1
paladinpk

Nossa muito boa aula pena que demora para sair... cada 1

Compartilhar este post


Link para o post
Visitante
Este tópico está impedido de receber novos posts.
Entre para seguir isso  
  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×