Menu
Coddy logo textTech

Bucle Until

Parte de la sección Fundamentos del Journey de Ruby de Coddy — lección 45 de 88.

El bucle until es lo opuesto al bucle while. En lugar de ejecutarse mientras una condición es verdadera, se ejecuta hasta que una condición se vuelve verdadera. Piénsalo como "sigue adelante hasta que esto suceda".

count = 1
until count > 3
  puts count
  count += 1
end

Esto muestra 1, 2, 3. El bucle continúa mientras count > 3 sea falso. Una vez que count pasa a ser 4, la condición es verdadera y el bucle se detiene.

Compara esto con el bucle while equivalente:

# Estos dos bucles hacen lo mismo:
while count <= 3    # se ejecuta mientras esto sea TRUE
until count > 3     # se ejecuta hasta que esto sea TRUE

El bucle until puede hacer que tu código sea más legible cuando estás esperando a que algo suceda. Aquí tienes un ejemplo de cuenta regresiva:

num = 5
until num == 0
  puts num
  num -= 1
end
puts "Liftoff!"

Esto cuenta regresivamente de 5 a 1, luego imprime "Liftoff!" cuando num llega a 0. Elige until cuando haga que tu intención sea más clara, especialmente cuando estés esperando a que ocurra una condición específica.

challenge icon

Desafío

Fácil

Lee un número n de la entrada. Usa un bucle until para imprimir todos los números desde 1 hasta n, cada uno en su propia línea. Después de alcanzar n, imprime Done! en una nueva línea.

El bucle debe continuar hasta que el contador exceda a n.

La entrada será un único número entero que representa el número objetivo.

Por ejemplo, si la entrada es 4, la salida debería ser:

1
2
3
4
Done!

Si la entrada es 6, la salida debería ser:

1
2
3
4
5
6
Done!

Hoja de referencia

El bucle until se ejecuta hasta que una condición se vuelve verdadera (lo opuesto a while):

count = 1
until count > 3
  puts count
  count += 1
end
# Salida: 1, 2, 3

Comparación con el bucle while:

while count <= 3    # se ejecuta mientras esto sea VERDADERO
until count > 3     # se ejecuta hasta que esto sea VERDADERO

Ejemplo de cuenta regresiva:

num = 5
until num == 0
  puts num
  num -= 1
end
puts "Liftoff!"

Pruébalo tú mismo

# Leer el número objetivo
n = gets.to_i

# Inicializar el contador
counter = 1

# TODO: Escribe tu código a continuación
# Usa un bucle until para imprimir los números del 1 al n
# El bucle debe continuar hasta que el contador supere a n


# Imprimir "Done!" después del bucle
puts "Done!"
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos