SK

[Lua] Tabelas

Por SkyDangerous, 08 de mar. de 2012 em Tutoriais de Scripting

skydangerous
lua
tutorial
script
tabelas
tibia
otserv
15
3.6k
SkyDangerousS
08 de março de 2012 às 20:52

O que são tabelas?

R: São estruturas multidimensionais que permitem o armazenamento de vários dados.

 

Como declarar uma tabela?

R : local tabela = {}

 

Como faz para adicionar valores na tabela?

R: Para adicionar um valor na tabela, devemos inserir nossos dados entre os colchetes{}

local tabela = {"skydangerous",15}

 

Como inserir um dado na tabela?

R: Para acessar um dado na tabela e fácil, cada dado adiciona tem uma posição.

 

local tabela = {}

tabela[1] = "skydangerous"

tabela[2] = 15

local posicao1,posicao2 = tabela[1],tabela[2]

print(posicao1,posicao2)

 

Print: skydangerous 15

 

Podemos perceber que adicionamos dois conteúdos em nossa tabela.

Fácil não?

 

 

Como acessar a tabela?

R: Para acessar os dados contido na tabela, é muito simples, basta sabermos a posição que ela se encontra em nossa tabela e indicarmos ela.

local tabela = {"skydangerous",15}

print(tabela[1],tabela[2])

 

Pronto, é muito simples, desse jeito que você irá acessar as duas posições na tabela e mostrar na tela.

 

Print: skydangerous 15

 

 

Funções Básicas

table.concat()

R: Está função concatena os dados da tabela, ou seja junta tudo

local tabela = {"skydangerous",15}

local concatena = table.concat(tabela)

print(concatena)

Print: skydangerous15

Podemos perceber que ao mostrar na tela, os dados se juntaram, é isso que a função faz.

 

table.insert()

R: Insere um valor na tabela, porém



local tabela = {"skydangerous",15}

table.insert(tabela,"tibia")

print (tabela[3])

 

Print: skydangerous 15 tibia

Sem a Função: skydangerous 15

 

Podemos perceber que ao mostrar na tela, ele imprimirá um valor que não está na tabela, porém foi inserido na posição a seguir do 15.

É possível também adicionar valores em qualquer posições.

 

 

local tabela = {"skydangerous",15}

table.insert(tabela,1,"tibia")

print (tabela[1])

 

Percebe-se que adicionamos um valor na posição 1, passando os demais valores declarados em uma posição a mais.

 

 

Print: tibia skydangerous 15

Sem a Função: skydangerous 15

 

table.maxn()

R:Essa função retorna o maior índice positivos da tabela.Caso ela não possuir nada retorna nulo(0)

 

 

local tabela = {"skydangerous",15}

print(table.maxn(tabela))

 

Print: 2

Fim do Tutorial.

Ele está bem explicado e detalhado.

Editado Março 8 por SkyDangerous

BeekiB
08 de março de 2012 às 20:56

Edita esse post aê, ta parecendo um flood com essas paradas repetidas.

VodkartV
08 de março de 2012 às 21:14

fala sobre o table.sort e o table.insert '-'

 

 

Parabéns pelo tópico cara,tem muita gente querendo aprender um pouco sobre script e isso é fonte de informações para muitos.

Editado Março 8 por Vodkart

SkyDangerousS
08 de março de 2012 às 21:16

irei editar.

conforme os tempo ;D

 

Não ta repetido, só os dados que eu coloquei na tabela ;D

caoticC
10 de março de 2012 às 21:24

SKY voce so me impresiona

Execelente otima formataçao e falou tudo.

Nos script ultilizamos demais as tabelas e cada uma tem seu jeito de faze-la eu ja prefiro tabelas grandes.

 

Obrigado a contruibuiçao ao xtibia.

 

Continue assim.

 

FLW

KydraiK
12 de março de 2012 às 13:47

Bom tutorial.

 

No caso do table.concat acho que poderia colocar um exemplo com separador que seria mais útil ( table.concat(tabela, ",") ), ou então citar os parâmetros opcionais.

Quando você usa table.insert mostra todos os elementos no print? Esse seu porém não fez muito sentido, pelo menos eu não entendi rs.

 

Mas é um bom tutorial, isso sempre gera dúvidas com iniciantes.

SkyDangerousS
12 de março de 2012 às 15:59

vdd.

eu acho que não terminei de escrever ;D

 

Vou conferir denovo o tutorial, e ver o que posso mudar.....

OverlokerO
12 de março de 2012 às 16:32

Bom não entendendo nada sobre;

HAHAHA

 

Belo tópico, bem formatado.

 

Parabéns! Tenho certeza que ajudará quem esta nesta areá.

2 semanas depois...
SkyDangerousS
22 de março de 2012 às 09:34

Quando que vai ser aprovado?

 

Postado 08 março 2012 - 08:52

 

.....

Piabeta KunP
22 de março de 2012 às 12:45

esse é o grande problema da sessao, pois niguem reporta para ser aprovado e movido, eu acho essa sessao fail, mais de certa forma nescessaria, mais nao adianter algo nescessario se os superiores encarregados nem dao as caras aqui!, ja postei alguns tutoriais unicos e que poderia servir pra muitos e estao encalhados aqui!

OneshotO
22 de março de 2012 às 18:44

Um tutorial na forma de Frequently Asked Questions (FAQ). Gostei, Céu Perigoso

SkyDangerousS
22 de março de 2012 às 21:14

HUAHU.

Tentei exemplificar e explicar o melhor possível.

 

Claro que não sou nenhum expert, fiz com bases em meus conhecimentos que estudei e aprendi contigo. ;D

1 mês depois...
BeekiB
07 de abril de 2012 às 03:02

o conteúdo do post está ótimo alem de bem formatado, Reportado para aprovarem, Abraços

SkyDangerousS
07 de abril de 2012 às 15:48

sim.

e ainda não foi movida.

 

faz 1 mes uauhhua'.. que dorgas ..

HisashiitYamagutiH
07 de abril de 2012 às 20:52

Gostei do tutorial, bem organizado, além de poder ajudar muito os novos scripters. Rep+ pro Sky Dangerous, pois o tópico fala sobre um assunto que eu não encontrei no fórum e a equipe me disse que não havia.

Editado Abril 7 por HisashiItYamaguti