るりまサーチ

最速Rubyリファレンスマニュアル検索!
6件ヒット [1-6件を表示] (0.005秒)
トップページ > クラス:Fiber[x] > ライブラリ:ビルトイン[x]

キーワード

検索結果

Fiber#resume(*arg = nil) -> object (3)

自身が表すファイバーへコンテキストを切り替えます。 自身は resume を呼んだファイバーの子となります。

...ります。

コンテキストの切り替えの際に Fiber.yield に与えられた引数を resume メソッドは返します。

@param arg self が表すファイバーに渡したいオブジェクトを指定します。

@raise FiberError 自身が既に終了している場合、コン...
...Thread クラスが表すスレッド間をまたがる場合、自身が resume を
呼んだファイバーの親かその祖先である場合に発生します。

例:

f = Fiber.new do
Fiber
.yield(:hoge)
end

a = f.resume()
f.resume()

p b #=> :hoge...

Fiber.new {|obj| ... } -> Fiber (3)

与えられたブロックとともにファイバーを生成して返します。 ブロックは Fiber#resume に与えられた引数をその引数として実行されます。

...ます。
ブロックは Fiber#resume に与えられた引数をその引数として実行されます。

ブロックが終了した場合は親にコンテキストが切り替わります。
その時ブロックの評価値が返されます。

a = nil
f = Fiber.new do |obj|
a = obj...

Fiber.yield(*arg = nil) -> object (3)

現在のファイバーの親にコンテキストを切り替えます。

...す。

コンテキストの切り替えの際に Fiber#resume に与えられた引数を yield メソッドは返します。

@param arg 現在のファイバーの親に渡したいオブジェクトを指定します。

@raise FiberError Fiber でのルートファイバーで呼ばれた場...
...合に発生します。


例:

a = nil
f = Fiber.new do
a = Fiber.yield()
end

f.resume()
f.resume(:foo)

p a #=> :foo...