From: Makoto Kuwata Date: 2011-04-18T23:22:28+09:00 Subject: [ruby-list:47981] Re: るびま記事募集:FiberとかSinatra/PadrinoとかBundlerとか 桑田です。 2011/4/14 Satoshi GUNJI : > 郡司と申します。 ... > ググってみたのですが、意外とRubyのFiberに関する入門記事が > ないのですねえ。 そうなんです。 「Pythonのgeneratorと同じようなもん」で通じれば話は早いんですけど。 > かくいう私もそれほどFiberについて理解しているわけでは > ないのですが、以前Fiberを無理やり使ってFizzBuzzを > 書いたことがありました。 > .... > Fiberの超入門記事としてこのコードを解説する‥‥くらいの軽い記事なら > 書けそうですが、いかがでしょうか。 お申し出ありがとうございます。 いただいたサンプルコードだと、Fiberなしでも書けるコードだったので、 できればFiberならではのコードだとありがたいです。 Fiberは1.9のキラー機能だと思うので、Fiberが使いたいから1.8やめて 1.9に移行したくなるような解説記事を望んでいます。 (具体的には、EventMachineなどと組み合わせた、イベントベースな  プログラミングでの解説までしていたくのが望ましいです。) もちろん、郡司さんのサンプルコードはあくまでFiberの基本的な挙動を 説明するためのものではありますが、るびまにおけるFiberの記事では、 なぜFiberが必要かなのかも含めた、より踏み込んだ内容にしたいと思っています。 2011/4/15 5.5 <5.5@moji.gr.jp>: > 5.5 です。 .... > > それと,現状で以下のような問題があると思います。 > > (A) Ruby 公式リファレンスマニュアルが Fiber に関して,まだよく >  整備されていない。 > (B) 微妙に間違った or 誤解を招く説明が流布している。 > > (A) については,Fiber に関するチケットが七つ挙っていて,長らく > 手つかずです。 > http://redmine.ruby-lang.org/search/index/rurema?issues=1&q=fiber > Fiber をご存知の方がリファレンスマニュアルのプロジェジェクトに > 加わってくださると嬉しいです。 > > このうち,「ショートチュートリアル」に関するチケットにも書きま > したが,私のような初心者が最初につまずくのはファイバー間の値の > やり取り(と正確な実行順序)です。 > (B) に関して,Fiber.yield や Fiber#resume の返り値を利用しない > サンプルで動作を説明しているものが多く,「Fiber.yield で親に戻 > すと,resume の次の行から再開される」といった正確でない表現が > 初心者を混乱させているように思います。 るびまの記事のまえに、リファレンスマニュアルのほうが先に整備 されるべきですね。 というか、リファレンスマニュアルをちゃんと書く人がいないなら るびま記事を書いてくれる人も少なそうっすね。うーん。 -- regards, makoto kuwata