[#47955] るびま記事募集:FiberとかSinatra/PadrinoとかBundlerとか — Makoto Kuwata <kwa@...>

桑田といいます。るびま編集部に入りました。

17 messages 2011/04/11

[#48016] 文字列を正規表現にマッチする部分と他の部分に分割 — "5.5" <5.5@...>

5.5 です。

12 messages 2011/04/28

[ruby-list:47984] Re: Fiber#resumeの引数について

From: Satoshi GUNJI <gunjisatoshi@...>
Date: 2011-04-19 00:12:17 UTC
List: ruby-list #47984
郡司と申します。

> 5.5 です。

> 先に書きましたが,Fiber.yield や Fiber#resume の値を捨
> てるようなサンプルスクリプトを使うと理解しづらいです。
> 私はそれでだいぶ悩みました。

おっしゃるとおり、Fiber.yieldの戻り値を捨ててしまったために
混乱していました。

次のサンプルスクリプトをirbで実行して、
ようやくFiberの挙動が納得できました。

--
fiber = Fiber.new do |first|
  second = Fiber.yield("#{first}!")
  "#{first}, #{second}!"
end

fiber.resume('Hello')
fiber.resume('World')
--

実行結果です。

--
001 > fiber = Fiber.new do |first|
002 >   second = Fiber.yield("#{first}!")
003?>   "#{first}, #{second}!"
004?> end
 => #<Fiber:0x000000024ef398>
005 >
006 > fiber.resume('Hello')
 => "Hello!"
007 > fiber.resume('World')
 => "Hello, World!"
008 >
--

#桑田さんもご指摘の通り、リファレンスマニュアルの整備が
#必要ですね‥‥


In This Thread

Prev Next