Ruby 3.3 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Fiberクラス > transfer
transfer(*args) -> object
[permalink][rdoc]自身が表すファイバーへコンテキストを切り替えます。
自身は Fiber#resume を呼んだファイバーの子となります。 Fiber#resume との違いは、ファイバーが終了したときや Fiber.yield が呼ばれたときは、ファイバーの親へ戻らずにメインファイバーへ戻ります。
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
:hoge
end
p fr3.resume # => :fugafuga