Frage

Hat jemand schon einmal Arbeit Ruby zu bekommen Fortsetzungen zu tun (wie Seaside auf Smalltalk)?

War es hilfreich?

Lösung

Ja, in den meisten Fällen. MRI (1.8) haben sie unterstützt, soweit meine Erinnerung reicht, Ruby 1.9 (YARV) tut es auch , so tut Rubinius. JRuby und IronRuby haben keine Fortsetzungen, und es ist ziemlich unwahrscheinlich, sie bekommen sie (JVM und CLR Verwendung Stack-instrospection für Sicherheit)

Rubin als eine Sprache unterstützt Fortsetzungen über callcc Schlüsselwort. Sie werden verwendet, zum Beispiel Generator Klasse von Standard-Bibliothek zu implementieren.

Fortsetzungen auf ruby-doc

Continuation-basierte Web-Frameworks (wie am Meer, oder ein von Arc std. Bibliothek) scheint weniger beliebt. Ich habe wee , die Sie tun optional Fortsetzungen lassen behaupten, aber ich habe es nie benutzt.

Andere Tipps

Wie andere schon gesagt haben, Ruby 1.8 unterstützt Fortsetzungen.

Ruby 1.9 hat sie jedoch nicht für eine Weile unterstützt. Sie wurden in diesem Jahr einige Zeit wieder hinzugefügt, aber die meisten der anderen Ruby-Dolmetscher (JRuby, IronRuby, usw.) unterstützen sie nicht.

Wenn Sie Ihr Code wollen verwendbar auf anderen Plattformen sein als die Hauptlinie Rubin, ich würde vorschlagen, nicht mit ihnen.

Lesen Sie diesem InfoQ Artikel für eine umfassende Diskussion über das Thema.

diese ist ein Beispiel für wiederanlauf Ausnahmen ( aka Bedingungen) umgesetzt Fortsetzungen verwenden. Ich habe es einige Male und es ist eine coole Sache, in einer Ruby-Toolbox zu haben.

neverblock verwendet 1,9-Fasern für ein Single-Threaded-Rubin-Webserver

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top