[前][次][番号順一覧][スレッド一覧]

ruby-reference-manual:1650

From: 5 5 <redmine@r...>
Date: Mon, 17 Aug 2009 15:17:59 +0900
Subject: [ruby-reference-manual:1650] [Bug #1944] Fiber#resume の説明

Bug #1944: Fiber#resume の説明
http://redmine.ruby-lang.org/issues/show/1944

起票者: 5 5
ステータス: Open, 優先度: Low
カテゴリ: doc
reporter: 5.5, ruby_version: 1.9

Fiber#resume の説明で,
 自身が表すファイバーへコンテキストを切り替えます。自身は resume を呼んだファイバーの子となります。
 コンテキストの切り替えの際に Fiber.yield に与えられた引数を resume メソッドは返します。 
とあります。
第2段落の「コンテキストの切り替え」は第1段落の「コンテキストを切り替え」とは違うので混乱します。
第2段落は
 自身が表すファイバーから親ファイバーへコンテキストを切り替える際に Fiber.yield に与えられた引数が resume メソッドの返り値になります。
 ブロックの終了によって親ファイバーへコンテキストが切り替わる場合は,ブロックの評価値が resume メソッドの返り値になります。
で如何でしょうか。

arg の説明が寂しいです。Fiber.yield などの説明と重複しますが,arg は,
・そのファイバーに初めて resume したときは,ファイバーを生成したときのブロックのブロックパラメーターとして与えられる
・2回目以降は,前回親ファイバーへコンテキストを切り替えたときに使った Fiber.yield の返り値になる
ということは書いてもよいと思います。

ところで,実行例が間違っています。これだと undefined local variable or method `b' for main:Object の例外が発生します。


----------------------------------------
http://redmine.ruby-lang.org

--
ML: ruby-reference-manual@m...
使い方: http://QuickML.com/

[前][次][番号順一覧][スレッド一覧]