[Tutorial] Estrutura de um script Lua |
0 | ||
Estrutura de um script Lua
Funções
function soma(a, b) soma = function(a, b) Os parênteses que seguem o nome da função, delimitam os argumentos * dela, nos exemplos dados acima, a função soma possui dois argumentos: a e b. Já a palavra-chave end identifica o final do código da função, tornando qualquer variável definida com local dentro da função, indisponível fora dela: function soma(a, b)
No exemplo dado, a função soma irá somar os números a e b, tornando os dois na váriavel c, a função será finalizada e não irá retornar nada, caso você deseje retornar algum valor de dentro da função, utilizamos a palavra-chave return: function soma(a, b)
return c Agora ao utilizar a função soma, ela irá retornar um valor: a variável c. Para chamar uma função, só é necessário utilizar o seu nome, seguido de parênteses com os possíveis argumentos dela: function soma(a, b)
return c local resultado = soma(2, 5) print(resultado) Aqui utilizamos duas funções: soma, uma função criada por nós e print, já disponível no lua. Loops
local a = 0 while a < 10 do
No exemplo dado acima, o loop irá ocorrer até a variável a for maior ou igual a 10. Utilizamos a palavra-chave do para identificar o fim de uma condição. A palavra-chave repeat, diferentemente de while, utiliza a palavra-chave until para delimitar o código: local a = 0 repeat
Aqui o código se repete até a variável a for igual a 10. Utilizamos o for number para executar um loop que não entra em ciclo, nele declaramos o número inicial, o número final e, caso necessário o delta: for i = 0, 10 do
O for irá mostrar os números de 0 a 10 em ordem crescente, para mudar a ordem adicionamos o terceiro argumento: for i = 10, 0, -1 do
Nesse caso, os argumentos são: número final, número inicial e delta, respectivamente. O for também pode ser utilizado para interagir com tabelas, retornando cada index e o valor dentro da tabela: local tabela = {"banana", "maçã", preferida = "pêra"} for index, valor in pairs(tabela) do
Aqui utilizamos a função pairs para retornar todos os valores da tabela, ipairs também pode ser utilizada, retornando os valores em ordem de index. Tabelas
local tabela = {"banana", "maçã", "pêra"} Para retornar/editar um valor da tabela, utilizamos tabela[index], onde index é a posição atual do valor. Podemos também tornar as indexes em strings: local tabela = {fruta = "banana", vegetal = "alface"} Nessa tabela, podemos utilizar tabela["fruta"] ou tabela.fruta para retornar o valor banana ou mudar o mesmo. Além de agir como uma gaveta, também é possível utilizar as tabelas para abrigar funções(como tfm.exec!): local honk = {} function honk.get() end Neste exemplo, utilizamos honk.get() para chamar a função. * Os nomes das funções e seus respectivos argumentos são facultativos, ou seja, você pode utilizar a função sem identificá-los. ** Lembre-se: o lua lê o seu script da primeira linha até a ultima, caso uma função seja chamada, no início do script, na linha 3 e ela esteja declarada na linha 6, o script irá lançar um erro de runtime, pois ele ainda não leu a linha 6. *** Não é necessário identar o seu código, mas ao faze-lo, torna a leitura dele mais fácil. |
Pitutlyg « Citoyen » 1464290040000
| 0 | ||
Deu pra entender +/- |
0 | ||
Só falta o tutorial de tonumber Honk noob |
Jellymichey « Censeur » 1464292140000
| 0 | ||
está fixe fizeste este tópico por causa da dúvida que lancei no tópico de dúvidas n foi? |
0 | ||
só ter o núcleo |
0 | ||
jellymichey a dit : Também, haha O pessoal que ta iniciando lua sempre tem dúvidas com essas 3 estruturas que citei no tópico, então ter um tópico explicando elas cai bem na seção |
0 | ||
esh não to entendendo nd socorro |
0 | ||
Seria legal você deixar exemplos no tópico |
Despyzi « Citoyen » 1468190940000
| 0 | ||
Thuzi a dit : . |
0 | ||
Nossa q belo tópico, pena q nao to entendendo nd Dernière modification le 1468191540000 |
Hydroper « Citoyen » 1468372560000
| 0 | ||
Faltou uma explicação para o statement do. Ele gera um novo escopo de variáveis. a dit : Dernière modification le 1468372620000 |
Apollo « Citoyen » 1468375740000
| 0 | ||
Não tendi nada, mas ta td bem |
Ticipoke « Citoyen » 1469373000000
| 0 | ||
Sabia que era difícil, mas não nesse nível. Não entendi nada |
Micethelind 1469495700000
| | ||
[Modéré par Omitotowch, raison : Sem relação com tópico.] |
0 | ||
Parabéns pelo tópico Eshkation, eu sou o V1n1c1ustop, a conta V1n1c1ustop foi banida pois o meu amigo fez Steam Fraud e eu nem sabia... Bom não entendi nada do tópico pois sou burro, por em quanto eu estou na fase de mapas, eu entendo + ou - de XML e não de formato de Script, mas, mais pra frente eu começo a entender sobre formato de Script. |
Proassadu « Citoyen » 1470622620000
| 0 | ||
praq eu tenho que saber isso sendo que eu nunca vo ir pra lua |
0 | ||
proassadu a dit : Não é só pq vc não vai usar /lua que vc não deve saber '-' Vai se tu quer criar um script. Isso vai te ajudar |
Fakemicegil « Citoyen » 1470961260000
| 0 | ||
voltei pro mice dps d 2 anos pq tava afim d aprender lua ja vi actionscript html e um pouco de java script mais lua é um pouquinho diferent ;- |
Hydroper « Citoyen » 1471039620000
| 0 | ||
Fakemicegil a dit : O ActionScript e JavaScript são fáceis Dernière modification le 1471090140000 |
Impressorahp « Citoyen » 1471056720000
| 0 | ||
profiver a dit : HTML 5 creio que seja mais fácil para mim. |