2008-09-29 12 views

Respuesta

12

Sí, en la mayoría de los casos. La resonancia magnética (1.8) los ha apoyado en lo que respecta a mi memoria, Ruby 1.9 (YARV) does it, too, también lo hace Rubinius. JRuby e IronRuby no tienen continuaciones, y es bastante improbable que las obtengan (JVM y CLR usan la instrospección de la pila para la seguridad)

Ruby como idioma admite las continuas a través de la palabra clave callcc. Se utilizan, por ejemplo, para implementar la clase Generator de la biblioteca estándar.

continuations on ruby-doc

marcos web basados ​​Continuación (como junto al mar, o uno de la biblioteca del Arco std.) Parecen menos popular. He encontrado wee que pretenden dejarte hacer continuaciones opcionales, pero nunca las he usado.

6

Como ya han dicho otros, Ruby 1.8 admite continuaciones.

Ruby 1.9 no los admite por un tiempo. Se han agregado en algún momento de este año, pero la mayoría de los otros intérpretes de Ruby (JRuby, IronRuby, etc.) no los admiten.

Si desea que su código se pueda utilizar en otras plataformas aparte de la línea principal Ruby, le sugiero que no las use.

Lea this InfoQ article para una discusión más completa sobre el tema.

1

neverblock utiliza 1,9 fibras para un único roscado servidor rubí web

2

BTW this es un ejemplo de excepciones reiniciables (aka condiciones) implementarse usando continuaciones. Lo usé pocas veces y es genial tenerlo en una caja de herramientas de Ruby.

Cuestiones relacionadas