O TEMA DO FÓRUM ESTÁ EM MANUTENÇÃO. FEEDBACKS AQUI: ACESSAR

RGSS3 - Aula 5: Estruturas de repetição

Iniciado por Brandt, 26/11/2013 às 01:09

26/11/2013 às 01:09 Última edição: 12/12/2013 às 14:40 por Masked
RGSS3 - Aula 5: Estruturas de repetição

por Masked



E aí pessoal! Já faz um tempo que não ponho uma nova aula aqui já que estive com pouco tempo e tal. Enfim, vamos continuar com nossos estudos...




1.Estruturas de repetição

1.1. O que são?
1.2. loop
1.3. for
1.4. while
1.5. until
1.6. break e next





1. Estruturas de repetição


1.1 O que são?

As estruturas de repetição são blocos que são executados várias vezes em um script, então, basicamente, eles servem para repetir um determinado conjunto de comandos.

Exemplo:

Código: ruby
a = 0
loop do
a += 1
puts a
end


Esse código faz com que os números de 0 a N sejam impressos na janela de depuração.
Agora, vamos ler o código por partes para entender ele:

' a  =  0 ' : Declarando uma variável chamada a, e atribuindo a ela o valor de Integer

' loop do ' : Veremos mais para frente, por enquanto, saiba que estamos iniciando um bloco de repetição.

' a += 1 ' : Adicionando 1 ao valor da nossa variável 'a'

' puts a ' : Escrevendo na janela de depuração o valor da variável 'a' e pulando uma linha

' end ' : Fechando o bloco de repetição, quando o interpretador chega aqui, ele volta para o ' loop do '




1.2. loop

O loop é, na minha opinião, a estrutura de repetição mais simples. Ele simplesmente fica executando o código no  bloco até que seja mandado parar.
Para criar um loop basta escrever:

loop do
código
end


Isso é exatamente o mesmo que:

loop {código}





1.3. for

O 'for' é um pouco mais complexo que o loop, ele executa o bloco de código tantas vezes quantos números em um Range (veremos logo o que é um Range) ou quantos espaços em uma Array ou Hash (veremos mais para frente)
Para criar um 'for':

for variavel in range/array/hash
código
end


Que é igual a:

range/array/hash.each{|variavel| código}


Vocês devem ter visto que nos dois há uma variável 'variavel'? essa variável representa a posição em que o 'for' está do range/array/hash, ou a quantidade de vezes que o código já foi executado.




1.4. while

O while, apesar de mais complicado que o loop, é bem mais simples que o 'for', ele serve para que um bloco seja executado enquanto certa condição estiver sendo cumprida, ele é um meio termo entre condicionais e estruturas de repetição.

Para criar um while, usa-se o código:

while condição
código
end





1.5. Until

O until é como o while, mas ele executa o bloco até que a condição seja cumprida.

Para criar um until:

until codição
código
end





1.6. Break e Next

O break e o next são comandos usados para parar o processamento de uma estrutura de repetição, por exemplo:

loop {
puts "aqui o interpretador chega"
break
puts "o interpretador nunca vai chegar aqui"
}


A diferença é que o break sai da repetição, e o next reinicia ela, então:

loop{puts"a"
break
puts"b"}


Com isso recebe-se  um "a" escrito na janela de depuração, enquanto que:

loop{puts"a"
next
puts"b"}


Isso faz com que receba-se um monte de "a" sendo escrito na janela, porque o interpretador apenas voltou para o começo do bloco e não saiu dele.




Então é só pessoal, até a próxima aula, se alguém estiver interessado em algum conteúdo, me avise, assim eu vejo se faço a aula 6 sobre isso, se não houverem pedidos, a próxima aula será prática.  :ok:
~ Masked

Ah agora ficou legal a aula, parabéns por estar escrevendo elas xD, tem outros ciclos de repetição na verdade, de uma olhada depois, tem o times, o upto/downto e talvez tenha outros ai :P, mas então quando irá vir mais aulas man xD?

Coloque uns exercicios maneiros k :P, boa sorte :)

Isso mesmo cara, poste mais aulas que elas são de grande ajuda :ok:. E siga o exemplo do Raizen e coloque uns exercidos maneiros, e poste as respostas dos mesmos na ula seguinte XD.

Obrigado, pessoal, quanto aos exercícios, vou colocar sim, é que estou meio sem ideias, mas assim que me vier algum exercício bom na cabeça eu ponho ele aqui...
~ Masked