joaohd 200 Postado Janeiro 4, 2011 Share Postado Janeiro 4, 2011 (editado) Material de Apoio Loops Antes de começarmos, o que vem a ser um loop em programação? Um loop é a repetição de um bloco de código por diversas vezes, com a finalidade de verificar uma condição, economizar linhas e alterar estados de variáveis. Em lua, temos três estruturas capazes de realizar loops, o comando while, o comando repeat e o comando for veremos agora como proceder para fazer um loop usando o while. Compreendendo o WHILE: O comando while, pode ser entendido como "enquanto" e deve vir junto a uma condição. Ou seja, ele executa e testa a condição enquanto esta não for satisfeita. Vejamos um exemplo: i = 10 while i>0 do print(i) i = i-1 end Como podemos observar no exemplo acima, temos uma variável i com o valor 10 e a estrutura while comparando i a 0, mostrando o valor de i e decrementando seu valor em 1 (subtraindo 1 do valor). Logo, neste exemplo teremos uma contagem regressiva de 10 até 0, quando a condição será obedecida e o laço terminado. Podemos ainda fazer uso do comando break para terminar o laço em algum ponto de sua execução: a = 1 while true do print(a) a = a + 1 if a > 10 then break end end Neste segundo exemplo, o while está configurado para executar infinitamente, entretanto, dentro do bloco de execução, temos uma condição if que caso a seja maior que 10, ele encerra o laço. Neste segundo exemplo, nos será mostrado os números de 1 a 10 em ordem crescente. A estrutura REPEAT: O comando repeat, é a segunda estrutura que podemos usar para fazer loops. Sempre vem acompanhado de outro comando, o until. Pode ser compreendido como "repita até que". Sua sintaxe é parecida ao do while, e também obedece a uma condição. Enquanto falsa, ele executa. Quando verdadeira, o laço é interrompido. Observem um exemplo: i = 3 repeat print(i) i = i-1 until i==0 Como vemos, no início, definimos a variável que será usada para controlar o laço e colocamos um decremento. É importante ressaltar a condição que o until impõe: caso i seja igual a 0, interrompa. O comando acima, deverá mostrar-nos os números de 3 a 0 em ordem decrescente. O comando repeat também pode ser usado junto ao break: i = 1 repeat print(i) i = i+1 if i>10 then break end until false Caso não tivessemos o if para controlar o ponto de interrupção, o comando executaria infinitamente, pois no until, não temos condição, logo será sempre falsa. O todo poderoso FOR: Este comando, apesar de sua simplicidade, é complicado de se entender completamente, hoje darei apenas uma pincelada. Haverá outro tutorial somente usando o for. O for em lua, apresenta dois usos possíveis para fazermos laços. A primeira, é a forma numérica e a segunda, chama-se sequencial. Não explicarei a diferença funcional entre elas, somente mostrarei como fazer loops usando-as. A forma numérica é bem direta: for i = 1, 3 do print(i) end A variável i não precisa ser declarada anteriormente. No caso desta estrutura, a variável assume os valores de 1 a 3 e repete o bloco com estes valores. Em sua forma sequencial, precisamos fazer uso de tabelas. Observe: for i, x in pairs({"Indice 1", "Indice 2", "Indice 3"}) do print(i, x) end No caso acima, será mostrada uma estrutura mais ou menos assim: 1 Indice 1 2 Indice 2 3 Indice 3 Bom, acho que isso é tudo. flw Editado Janeiro 4, 2011 por apocarai Link para o comentário Compartilhar em outros sites More sharing options...
meubk 257 Postado Janeiro 5, 2011 Share Postado Janeiro 5, 2011 Continuue com ás aulas apocarai, que você ajudará mtas pessoas, concerteza... ficow otimo, bom trabalho! REP+ Link para o comentário Compartilhar em outros sites More sharing options...
iagsousa 15 Postado Janeiro 13, 2011 Share Postado Janeiro 13, 2011 Conteúdo muito bom, e de interesse a muitos, REP+ ae. Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados