Um pouco mais:
Meu primeiro tutorial,aprendi tabelas com o grande amigo Oneshot,e estarei compartilhando esse conhecimento com vocês.
Oque vamos aprender no tutorial:
Como manipular tabelas
Como criar tabelas avançadas
Como pegar os dados de sua tabelas
Como estruturar uma tabela.
Introdução a Tabelas
Tabelas antes de mais nada são variáveis que podem armazenar vários valores,que também podem ser sub-tabelas,sejam elas indexes ou valores(strings ou números).
Logo,se elas são variáveis,para abrir uma tabela em um script como devemos começar? Como se declara um variável em um script?
Simples!declaramos a tabela assim:
local tabble = {}
Pergunta:
Mais poderia ser qualquer outra variável de vez de "tabble"?
Resposta:
Sim,poderia ser dado qualquer outro nome para sua variável exemplo:
local vodkart = {} ou local xtibia = {} ou local config = {} ou local x = {} ...Não importa o nome da sua variável,apenas certifique-se que ela está lá.
-----------------------------------------------
Obs:
Lembre-se que tabelas sempre usam chaves, é como se fosse um "if" e um "end",abriu uma chave "{" você deve fecha-lá "}".
-----------------------------------------------
Manipulando e pegando valores dentro de Tabelas
já aprendemos como declarar uma tabela certo?,agora iremos colocar alguns valores dentro dela...Mas como fazer isso? OH MY GOD!
Vou escolher alguns números aleátorios e colocar dentro da nossa tabela:
local tabble = {150, 410, 25}
Pronto, nós já tem uma tabela! Viram como é easy?
Agora prestem atenção a explicação cambada de vagabundo!
Para pegar os valores de uma tabela é mais fácil ainda,conforme você vai adicionando o elemento dentro de uma tabela elas vão ganhando posições,por exemplo:
150 = 1° posição
410 = 2° posição
25 = 3° posição
Então como pegar esses valores na tabela?
Você deve primeiro usar o nome da sua tabela seguido de colhetes "[]",entre esses colchetes ficam o valor de posição do que você quer pegar,exemplo:
Vamos supor que queremos pegar o valor 150 em um script e a nossa tabela foi declarada assim:
local tabble = {150, 410, 25}
logo para pegar o valor 150 fariamos assim:
tabble[1]
Ou sejá:
tabble[1] retornaria 150
tabble[2] retornaria 410
tabble[3] retornaria 25
Tudo certo por aqui? espero que sim.
Criando tabelas avançadas:
Agora vamos estudar sub-tabelas e indexes,vou propor o seguinte problema:
Marco é um empregado que trabalha em um escritório de registros,e ele precisa fazer uma tabela com nome,idade e sexo das pessoas. Crie uma tabela para ajudar-lo,seguem as pessoas abaixo:
Bruno: idade 22, masculino
Thiago: idade 17, masculino
Marina: idade 16, feminino
Como prosseguir?
Primeiro de tudo vamos declarar nossa tabela:
local tabela = {}
Agora vamos criar os chamados indexes,quais os index que temos nesse problema?
nome,idade e sexo certo?
Então :
local tabela = {nome="", idade=, sexo=""}
Mais espera,como é uma tabela de múltiplas linhas devemos separar por vírgulas e abrir mais algumas chaves para surgir as sub-tabelas:
local tabela = { {nome="", idade=, sexo=""}, {nome="", idade=, sexo=""}, {nome="", idade=, sexo=""} }
-----------------------------------------------
Obs:
Porque Nome e sexo tem ""?
"" significa string,são usados para nome e palavras.
-----------------------------------------------
Peço que vocês preencham a tabela antes de abrir o spoiler para que vocês possam aprender,depois que vocês preencherem sua tabela abram o spoiler para ver se está tudo de acordo.
local tabela = { {nome="Bruno", idade=22, sexo="Masculino"}, {nome="Thiago", idade=17, sexo="Masculino"}, {nome="Marina", idade=16, sexo="Feminino"} }
Hmm e agora vamos para a parte complicadinha,vamos pegar os valores dentro da tabela,como fazer isso?
Nesse caso faríamos assim:
tabela[linha].index
-----------------------------------------------
Obs:
se a tabela tivesse só uma linha por exemplo:
local tabela = {idade=22, nome="Bruno", sexo="masculino"}
para pegar o nome você usaria tabela.index ou seja:
tabela.idade retornaria 22
tabela.nome retornaria "Bruno"
tabela.sexo retornaria "masculino"
-----------------------------------------------
Agora quando a tabela tem várias linhas é preciso consultar os valores assim:
tabela[linha].index
Pegando o nosso exemplo
local tabela = { {nome="Bruno", idade=22, sexo="Masculino"}, {nome="Thiago", idade=17, sexo="Masculino"}, {nome="Marina", idade=16, sexo="Feminino"} }
Se quiséssemos retornar o nome da linha 2 como faríamos?
tabela[2].index
ou seja
tabela[2].nome retornaria "Thiago"
tabela[2].idade retornaria 17
tabela[1].idade retornaria 22
tabela[1].sexo retornaria "Masculino"
tabela[3].nome retornaria "Marina"
é isso pessoal,espero que vocês tenham aprendido a criar e retirar valores de suas tabelas!
Exercícios:
Vou deixar alguns exercícios para vocês:
1. Crie uma tabela com 5 nomes de amigos do XTibia,não precisar conter index.
2. Crie uma tabela que contenha 5 linhas(subtabelas),com nome, idade, sexo de pessoas aleatórias.
3. Usando o exercicio 2, o que irá retornar:
a) tabela[1].idade
b) tabela[3].sexo
c) tabela[2].idade
d) tabela[4].nome
e) tabela[2].nome
f) tabela[1].sexo
Favor colocar os exercicios em Spoiler,estarei vendo e auxiliando os membros do tópico que se interresarem em aprender.