私はfibersについて同僚とチャットしており、Fiber APIを使用してC#でコルーチンの実装を記述したthis paper from 2003となっています。 このホワイトペーパーのYieldの実装は、.NET 1.1用であったため、.NET 2.0に登場するyield returnの構文よりも前です。 ここでの実装は潜在的に高速で、複数のCPUにまたがって拡張できることは間違いなく一目瞭然
この質問は、Ruby 1.9.1で列挙子を使用する方法ではなく、どのように動作するのか不思議です。ここではいくつかのコードは次のとおりです。上記のコードで class Bunk
def initialize
@h = [*1..100]
end
def each
if !block_given?
enum_for(:each)