Break
Parte de la sección Fundamentos del Journey de Ruby de Coddy — lección 41 de 88.
A veces necesitas salir de un bucle antes de tiempo, antes de que termine de forma natural. La palabra clave break te permite detener inmediatamente un bucle y continuar con el código que le sigue.
Imagina que estás buscando un número específico. Una vez que lo encuentres, no tiene sentido seguir revisando el resto:
for i in 1..10
if i == 5
puts "Found it!"
break
end
puts i
end
puts "Loop ended"Esto produce 1, 2, 3, 4, luego "Found it!", y finalmente "Loop ended". Cuando i llega a 5, el break se ejecuta y el bucle se detiene inmediatamente. Los números del 6 al 10 nunca se procesan.
La palabra clave break funciona con cualquier tipo de bucle. Aquí tienes un ejemplo con un bucle while:
count = 0
while true
count += 1
if count > 3
break
end
puts count
endEsto muestra 1, 2, 3. Aunque la condición es true (que normalmente crearía un bucle infinito), el break detiene el bucle cuando count supera 3.
Desafío
FácilLee dos números enteros de la entrada:
- Un
limitque representa el límite superior de un rango que comienza desde 1 - Un número
targetpara buscar
Itera a través de los números desde 1 hasta limit. Imprime cada número en su propia línea. Cuando alcances el target, imprime Found! en lugar del número y detén inmediatamente el bucle usando break.
Si el objetivo está dentro del rango, el bucle debe detenerse antes. Si el objetivo es mayor que el límite, se imprimirán todos los números desde 1 hasta el límite.
Por ejemplo, si las entradas son 10 y 4, la salida debería ser:
1
2
3
Found!Si las entradas son 5 y 8, la salida debería ser:
1
2
3
4
5Hoja de referencia
La palabra clave break detiene inmediatamente un bucle y continúa con el código que le sigue:
for i in 1..10
if i == 5
puts "Found it!"
break
end
puts i
end
puts "Loop ended"Esto produce como salida 1, 2, 3, 4, "Found it!", "Loop ended". Cuando i llega a 5, el bucle se detiene inmediatamente.
La palabra clave break funciona con cualquier tipo de bucle, incluyendo los bucles while:
count = 0
while true
count += 1
if count > 3
break
end
puts count
endEsto produce como salida 1, 2, 3 y luego se detiene, a pesar de que la condición es true.
Pruébalo tú mismo
# Leer entrada
limit = gets.to_i
target = gets.to_i
# TODO: Escribe tu código a continuación
# Recorrer los números del 1 al límite
# Imprimir cada número en su propia línea
# Cuando llegues al objetivo, imprime "Found!" y sal del bucleEsta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores Parte 2
Operadores lógicos Parte 1Operadores lógicos Parte 2Repaso - Lógica simpleOperadores lógicos Parte 3Operadores lógicos Parte 47Calculadora para dividir la cuenta
Mensaje de bienvenidaObtener la entrada del usuario10FizzBuzz con un giro
Descripción general del juegoEl método FizzBuzz2Variables y tipos de datos
Números y variablesTipo de dato StringTipo de dato BooleanTipo de dato SymbolComprobación de tipos de datosConvenciones de nomenclaturaResumen: Creación de variables5Toma de decisiones
Sentencia IfIf - ElseRepaso - Calculadora simpleIf - Else anidadosSentencia Unless8Bucles
Bucle For con rangosBucle WhileBreakNextRepaso - FactorialBucle TimesBucle UntilBucles anidadosRepaso - Entrada dinámica3Operadores Parte 1
Operadores aritméticosOperador móduloAtajos aritméticosResumen - Matemáticas simplesOperadores de comparación6Entrada y Salida Básica
Salida con putsSalida con print y pSalida con variablesEntrada con getsMétodo chompConversión de tiposResumen - Calculadora de edadResumen - Verdadero o falso