るりまサーチ

最速Rubyリファレンスマニュアル検索!
73件ヒット [1-73件を表示] (0.260秒)

別のキーワード

  1. _builtin new
  2. _builtin inspect
  3. _builtin []
  4. _builtin to_s
  5. _builtin each

クラス

キーワード

検索結果

FiberError (46002.0)

Fiber に関するエラーが起きると発生します。

Fiber に関するエラーが起きると発生します。

Fiber (8020.0)

ノンプリエンプティブな軽量スレッド(以下ファイバーと呼ぶ)を提供します。 他の言語では coroutine あるいは semicoroutine と呼ばれることもあります。 Thread と違いユーザレベルスレッドとして実装されています。

...親子関係を壊すような遷移(例えば
自分の親の親のファイバーへ切り替えるような処理)はできません。
例外 FiberError が発生します。
できることは
* Fiber#resume により子へコンテキストを切り替える
* Fiber.yield により親へコ...
...レッド間をまたがるファイバーの切り替えはできません。
例外 FiberError が発生します。

//emlist[例:][ruby]{
f = nil
Thread.new do
f = Fiber.new{}
end.join
f.resume
#=> t.rb:5:in `resume': fiber called across threads (FiberError)
# from t.rb:5:in `<main>'
//}...

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

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

...引数
を返します。ブロックの終了まで実行した場合はブロックの評価結果
を返します。

@raise FiberError 自身が既に終了している場合、コンテキストの切替が
Thread クラスが表すスレッド間をまたが...
...また、Fiber#transfer を呼び出した後に resume を
呼び出した場合に発生します。

//emlist[例:][ruby]{

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

p f.resume() #=> :hoge
p f.resume() #=> :fuga
p f.resume() #=> FiberError: dead fiber called
//}...

Enumerator (8008.0)

each 以外のメソッドにも Enumerable の機能を提供するためのラッパークラスです。 また、外部イテレータとしても使えます。

...ます。
例えば以下のようなスレッドをまたいだ呼び出しはエラーになります。

//emlist[例][ruby]{
a = nil
Thread.new do
a = [1, 2, 3].each
a.next
end.join

p a.next
#=> t.rb:7:in `next': fiber called across threads (FiberError)
# from t.rb:7:in `<main>'
//}...

Fiber#raise -> object (8008.0)

selfが表すファイバーが最後に Fiber.yield を呼んだ場所で例外を発生させます。

...呼んだ場所で例外を発生させます。

Fiber.yield が呼ばれていないかファイバーがすでに終了している場合、
FiberError
が発生します。

引数を渡さない場合、RuntimeError が発生します。
message 引数を渡した場合、message 引数をメ...

絞り込み条件を変える

Fiber#raise(exception, message = nil, backtrace = nil) -> object (8008.0)

selfが表すファイバーが最後に Fiber.yield を呼んだ場所で例外を発生させます。

...呼んだ場所で例外を発生させます。

Fiber.yield が呼ばれていないかファイバーがすでに終了している場合、
FiberError
が発生します。

引数を渡さない場合、RuntimeError が発生します。
message 引数を渡した場合、message 引数をメ...

Fiber#raise(message) -> object (8008.0)

selfが表すファイバーが最後に Fiber.yield を呼んだ場所で例外を発生させます。

...呼んだ場所で例外を発生させます。

Fiber.yield が呼ばれていないかファイバーがすでに終了している場合、
FiberError
が発生します。

引数を渡さない場合、RuntimeError が発生します。
message 引数を渡した場合、message 引数をメ...

Fiber#transfer(*args) -> object (8008.0)

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

...指定します。

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

@raise FiberError 自身が既に終了している場合、コンテキストの切り替えが Thread クラスが表すスレッド間をまたがる場合、...

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

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

...を yield メソッドは返します。

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

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


//emlist[例:][ruby]{
a = nil
f = Fiber.new do
a = Fiber.yie...