First hehe
Otimo tutorial apocarai, gostei
eu estou tentando aprender script mas e fods(na minha opniao) n sei onde coloca 1 misero doPlayerAddItem,doRemoveItem '-', mas isso ja deu uma ajudinha.
First hehe
Otimo tutorial apocarai, gostei
eu estou tentando aprender script mas e fods(na minha opniao) n sei onde coloca 1 misero doPlayerAddItem,doRemoveItem '-', mas isso ja deu uma ajudinha.
info
Grupo: Infante
Registrado: 13/10/08
Posts: 1.6k
Reputação: +420
Char no Tibia: Demonbholder

Ótimo tutorial, alguns acham avançado criar funções, mas na verdade é bem fácil, a complexidade da função vai depender do script. Está bem explicado como criar uma função, também intercalou ensinando os valores que as funções podem retornar. Falou também que quando se encontra o return e o break o script requer o end. Qualidade do tutorial esta muito boa, parabéns por ele.
EDIT:
Se tiver tempo, seria legal um tutorial de WXlua.
Editado Março 24 por Demonbholder
info
Grupo: Campones
Registrado: 22/09/10
Posts: 34
Reputação: +5

no caso do ultimo exemplo seria o calculo de um fatorial, estou correto?
info
Grupo: Visconde
Registrado: 03/02/09
Posts: 361
Reputação: +200
Char no Tibia: Fearless Man
Material de Apoio VII
Funções e return
Ao criarmos nossos códigos lua, às vezes precisamos de funções ou procedimentos para agilizar o trabalho ou resolver algum problema. Aprenderemos agora, como criar estas funções e também algumas técnicas para obter o máximo de desempenho delas.
Por não ser uma linguagem fortemente tipada - apenas valores possuirem tipos -, as funções em lua podem ser escritas de diversas formas. Observe a estrutura básica delas:
A segunda estrutura é o que chamamos de sintax sugar - açucar sintático -, que nada mais é que a primeira estrutura organizada da forma convencional a que estamos acostumados. Entretanto, se observarmos a terceira estrutura, nossa função não tem nome!! Mas como trabalharemos com ela então? Bom, neste tipo de função, trata-se de modo especial, passando-a como um argumento para outra função, assim:
print(function() return "Isto será repassado como argumento." end)No exemplo acima, podemos observar tambem o uso do return, retornando uma string. Mas para quê serve esta estrutura??
O return não faz nada além de nos mostrar o resultado da função. Uma função sem return não apresentará um resultado. Podemos retornar qualquer valor em lua. Observe:
function ab() -- Retorna uma string return "Esta retorna string" end function cd() -- Retorna um número return 123 end function ef() -- Retorna um booleano return true end function gh() -- Retorna uma tabela return {} end function ij() -- Retorna outra função return function ab() endQuando o return é encontrado, a função é encerrada e o valor é retornado.
Entendido o return, passemos a uma nova fase: a recursividade.
Em Ciência da computação, a recursividade é a definição de uma subrotina (função ou método) que pode invocar a si mesma. Trocando em miúdos, seria repetir a mesma instrução várias vezes com o resultado desta mesma instrução. Vejamos um exemplo:
function fact(n) if n == 0 then return 1 else return n * fact(n - 1) end endAnalisando passo a passo, a execução se daria assim:
Suponhamos n = 5;
No primeiro instante, teriamos um retorno 5*4 e nosso n passaria a ser 4.
No segundo instante, teriamos um retorno de 5*4*3 e n passaria a ser 3.
No terceiro instante, teriamos um retorno de 5*4*3*2 e n passaria a ser 2.
No quarto instante, teriamos um retorno de 5*4*3*2*1 e n passaria a ser 0.
Como temos um condicional dizendo que caso n seja igual a 0 retorne 1, teriamos:
5*4*3*2*1*1 = 120
Este é um exemplo do uso da recursividade.
Créditos
Função fact : Manual de referência lua 5.1
Definição recursividade : Wikipedia
No mais, é isso.
flw
Editado Março 23 por apocarai