> Ustedes saben que en javascript con la instruccion break; puedo forzar
> un bucle for y un switch(x)
>
> ahora bien en ruby se puede hacer eso? reventar un buble for y un case
> ?????
prueba con break ;)
una vez veas que funciona, te recomendaría hacerte con una referencia
del lenguaje. Si no quieres comprarte un libro, en internet tienes
gratis una edición vieja del "Programming Ruby" de Dave Thomas. Es una
edición vieja, pero aún así bastante útil. Tienes también la opción de
comprar ese mismo libro (o algún otro) en versión más moderna.
saludos,
javier ramírez
_______________________________________________
Rubies mailing list
Rub...@listas.escomposlinux.org
https://listas.escomposlinux.org/mailman/listinfo/rubies
No, no se puede, yo hice la misma pregunta hace tiempo :)
El truco es pensar de otra forma, en Ruby se puede hacer de todo y mucho más
fácil que en otros lenguajes. El problema es cuando venimos de otro lenguaje
y asumimos que las cosas se deben hacer de la misma manera. ;)
--
Iñaki Baz Castillo
No, "break" en Ruby es sólo para iteraciones.
;)
--
Iñaki Baz Castillo
break permite salir de un bloque (block), mismo que es frecuentemente
utilizado para iteraciones.
En un case en cambio no hace falta un break, porque un when termina
donde empieza el otro, a diferencia de C.
--
Gerardo Santana
> En un case en cambio no hace falta un break, porque un when termina
> donde empieza el otro, a diferencia de C.
Que por otra parte es lo normal. El comportamiento en C es en mi opinión
bastante rarito.
--
Iñaki Baz Castillo
Jeje. Cada quién su opinión. Mi segundo lenguaje fue C (el primero fue
GW-BASIC) y a mí me parece de lo más normal.
Pero dicho sea de paso, el comportamiento de C te permite hacer
algunas cosas interesantes, como el dispositivo de Duff
(http://en.wikipedia.org/wiki/Duff%27s_device).
También me fue muy útil para ahorrarme algo de código aquí:
http://github.com/santana/ruby-informix/tree/master/ext/informixc.ec
donde en la línea 1572 tengo la etiqueta default, y en la 1651 tengo
la etiqueta T_STRING (sí, default no tiene que estar al final).
La opción default "cae" (falls through) hacia la opción T_STRING, pues
en ambos casos el tratamiento final es el mismo. De lo contrario,
hubiera tenido que duplicar código (o definir una función, pero
hubiera sido demasiado).
--
Gerardo Santana
Es que no se puede meter un "break" en un "case", sin más. Ni en Rails ni en
ninguna otra cosa que al final use Ruby.
El Saturday 03 May 2008 19:10:38 Gerardo Santana Gómez Garrido escribió:
> break permite salir de un bloque (block), mismo que es frecuentemente
> utilizado para iteraciones.
por poner el otro ejemplo comunmente usado en iteraciones, 'next' salta a la
siguiente dentro del bloque.
Saludos
efectivamente, break es para iteraciones.. como en la pregunta decía que
quería forzar salir de un for y un switch pensé que hablábamos de algo
parecido a
[1,2,3].each do |x|
case x
when 1
puts "OK"
break
end
end
Eso rompe el bucle en cuanto se encuentra el break
saludos,
javier ramírez