るりまサーチ

最速Rubyリファレンスマニュアル検索!
18件ヒット [1-18件を表示] (0.003秒)
トップページ > クラス:Fiber[x] > 種類:特異メソッド[x]

ライブラリ

キーワード

検索結果

Fiber.current -> Fiber (2.0)

このメソッドが評価されたコンテキストにおける Fiber のインスタンスを返します。

...ッドが評価されたコンテキストにおける Fiber のインスタンスを返します。

例:

fr = Fiber.new do
Fiber
.current
end

fb = fr.resume
p fb.equal?(fr) # => true

p Fiber.current # => #<Fiber:0x91345e4>
p Fiber.current # => #<Fiber:0x91345e4>...

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

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

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

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

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

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

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

...す。

コンテキストの切り替えの際に 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...