るりまサーチ

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

別のキーワード

  1. fiber alive?
  2. fiber transfer
  3. fiber current
  4. _builtin fiber
  5. fiber resume

ライブラリ

キーワード

検索結果

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

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

...キストを切り替えます。
自身は resume を呼んだファイバーの子となります。


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

@return コンテキストの切り替えの際に Fiber.yield に与えられた引数
...
...ロックの評価結果
を返します。

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

例:

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

p f.resume() #=> :hoge
p f.resume() #=> :fuga
p f.resume() #=> FiberError: dead fiber called...
...自身が表すファイバーへコンテキストを切り替えます。
自身は resume を呼んだファイバーの子となります。

ただし、Fiber#transfer を呼び出した後に resume を呼び出す事はでき
ません。

@param arg self が表すファイバーに渡した...
...す。

@return コンテキストの切り替えの際に Fiber.yield に与えられた引数
を返します。ブロックの終了まで実行した場合はブロックの評価結果
を返します。

@raise FiberError 自身が既に終了している場合、コンテキ...
...身が resume
呼んだファイバーの親かその祖先である場合に発生します。
また、Fiber#transfer を呼び出した後に resume
呼び出した場合に発生します。

例:

f = Fiber.new do
Fiber
.yield(:ho...

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

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

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

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

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

Fiber.current -> Fiber (21160.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#transfer(*args) -> object (21133.0)

自身が表すファイバーへコンテキストを切り替えます。

...表すファイバーへコンテキストを切り替えます。

自身は Fiber#resume を呼んだファイバーの子となります。
Fiber#resume
との違いは、ファイバーが終了したときや Fiber.yield が呼ばれたときは、
ファイバーの親へ戻らずにメイン...
...ァイバーから呼び出した Fiber#resume メソッドの返り値として渡したいオブジェクトを指定します。

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

@raise FiberError 自身が既に終了してい...
...
Fiber#resume
を呼んだファイバーがその親か先祖である場合に発生します。

例:

require 'fiber'

fr1 = Fiber.new do |v|
:fugafuga
end

fr2 = Fiber.new do |v|
fr1.transfer
:fuga
end

fr3 = Fiber.new do |v|
fr2.resume...

Fiber#alive? -> bool (21055.0)

ファイバーが「生きている」時、真を返します。

...* まだ Fiber#resume されていない
* ブロック内の評価が終了していない (Fiber.yield が呼ばれていない)

例:

fr = Fiber.new{
Fiber
.yield
"a"
}

p fr.alive? # => true
fr.resume # Fiber.yieldで戻ってくる
p fr.alive? # => true
fr.resume #...

絞り込み条件を変える

Fiber.yield(*arg = nil) -> object (21049.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...