Els bucles són una part fonamental de qualsevol llenguatge de programació, ja que permeten executar un bloc de codi repetidament fins que es compleixi una condició específica. En Ruby, hi ha diverses maneres de crear bucles. En aquesta secció, explorarem els bucles while, until, for, i each.

Bucles while

El bucle while executa un bloc de codi mentre una condició sigui certa.

Sintaxi

while condició
  # codi a executar
end

Exemple

i = 0
while i < 5
  puts "i és #{i}"
  i += 1
end

Explicació

  1. Inicialitzem i a 0.
  2. El bucle while comprova si i és menor que 5.
  3. Si la condició és certa, imprimeix el valor de i i incrementa i en 1.
  4. El bucle es repeteix fins que i ja no és menor que 5.

Bucles until

El bucle until és l'oposat del bucle while. Executa un bloc de codi fins que una condició sigui certa.

Sintaxi

until condició
  # codi a executar
end

Exemple

i = 0
until i == 5
  puts "i és #{i}"
  i += 1
end

Explicació

  1. Inicialitzem i a 0.
  2. El bucle until comprova si i és igual a 5.
  3. Si la condició és falsa, imprimeix el valor de i i incrementa i en 1.
  4. El bucle es repeteix fins que i és igual a 5.

Bucles for

El bucle for s'utilitza per iterar sobre una col·lecció d'elements, com ara un array o un rang.

Sintaxi

for variable in col·lecció
  # codi a executar
end

Exemple

for i in 0..4
  puts "i és #{i}"
end

Explicació

  1. El bucle for itera sobre el rang de 0 a 4.
  2. En cada iteració, i pren el valor de l'element actual del rang.
  3. Imprimeix el valor de i.

Bucles each

El bucle each és una manera més idiomàtica de Ruby per iterar sobre col·leccions.

Sintaxi

col·lecció.each do |element|
  # codi a executar
end

Exemple

[0, 1, 2, 3, 4].each do |i|
  puts "i és #{i}"
end

Explicació

  1. El mètode each itera sobre cada element de l'array [0, 1, 2, 3, 4].
  2. En cada iteració, i pren el valor de l'element actual de l'array.
  3. Imprimeix el valor de i.

Exercicis Pràctics

Exercici 1

Escriu un programa que utilitzi un bucle while per imprimir els números del 10 al 1 en ordre descendent.

Solució

i = 10
while i > 0
  puts i
  i -= 1
end

Exercici 2

Escriu un programa que utilitzi un bucle until per imprimir els números del 1 al 10.

Solució

i = 1
until i > 10
  puts i
  i += 1
end

Exercici 3

Escriu un programa que utilitzi un bucle for per imprimir els elements d'un array.

Solució

array = [10, 20, 30, 40, 50]
for element in array
  puts element
end

Exercici 4

Escriu un programa que utilitzi un bucle each per imprimir els elements d'un array.

Solució

array = [10, 20, 30, 40, 50]
array.each do |element|
  puts element
end

Errors Comuns i Consells

  1. Condicions infinites: Assegura't que la condició del bucle canvia en cada iteració per evitar bucles infinits.
  2. Índex fora de rang: Quan iteres sobre arrays, assegura't que l'índex no excedeixi la longitud de l'array.
  3. Utilitza each en lloc de for: En Ruby, each és més idiomàtic i sovint més segur que for.

Conclusió

Els bucles són una eina poderosa per repetir tasques en el teu codi. En aquesta secció, hem après sobre els bucles while, until, for, i each. Practica aquests conceptes amb els exercicis proporcionats per consolidar el teu coneixement. En la següent secció, explorarem els mètodes en Ruby.

© Copyright 2024. Tots els drets reservats