{category}

Ruby - ファイバー

Fiber.resume

ファイバー・レジューム(並行処理と並列処理

意味 Fiberの実行を再開する


Fiber.resumeとは?

Fiber.resumeは、停止状態のFiberの実行を再開するメソッドです。Fiberが初めて実行される場合はFiber.newで渡されたブロックの最初から実行を開始し、既に実行中だった場合は最後に停止した地点から実行を再開します。

Fiber.resumeの具体的な使い方

Fiber.resumeの基本的な使用例

# 単語を逆順にするFiberを作成
reverse_words = Fiber.new do
  while true
    word = Fiber.yield
    break if word.nil?
    puts word.reverse
  end
end

# Fiberの実行と再開
reverse_words.resume
reverse_words.resume "こんにちは"
reverse_words.resume "Ruby"
reverse_words.resume "プログラミング"
reverse_words.resume nil

👇出力結果

はちにんこ
ybuR
グンミラグロプ

この例では、Fiber.resumeを使って単語を逆順にするFiberを制御しています。最初のresumeでFiberを開始し、その後のresumeで単語を渡して処理を再開します。nilを渡すとFiberが終了します。

Fiber.resumeに関するよくある質問

Q. Fiber.resumeに引数を渡せますか?
A. はい、Fiber.resumeに引数を渡すことができます。この引数は、Fiber内でFiber.yieldの戻り値として受け取ることができます。
Q. Fiber.resumeの戻り値は何ですか?
A. Fiber.resumeの戻り値は、Fiber内でFiber.yieldに渡された値です。Fiberが終了した場合は、Fiberのブロックの最後の式の値が返されます。
Q. 終了したFiberをresumeするとどうなりますか?
A. 既に終了したFiberをresumeしようとすると、FiberErrorという例外が発生します。Fiberの状態を確認するには、Fiber#alive?メソッドを使用できます。

RubyのFiber.resumeについても学べる書籍の紹介

「プログラミング単語帳」を使って、プログラミングの単語を英単語のように学習してみませんか?
プログラミング単語帳には、RubyのFiber.resumeやRactor.new、kill、system、などのような実務でよく使われる単語が数百以上収録されています。
この書籍には、プログラミングの単語の意味や読み方、単語の使い方がわかる例文などが掲載されており、いつでもどこでもプログラミングの学習ができます。

よく使われる単語にだけ絞って学習することができるので、効率的にプログラミングが学習できます。

1日5分の暗記でプログラミンが身に付く!プログラミング単語帳 公式ストアで発売中!

HTML編、CSS編、JavaScript編、PHP編、Ruby編、その他単語編の6シリーズ分が公式ストアにて販売中です。気になった方はぜひ購入してみてください。


Rubyを学べる「プログラミング単語帳」アプリ

プログラミング単語帳がアプリになりました!Rubyはもちろん、10種類のプログラミング言語の中から、よく使われる単語をスマホで学習できます。

収録単語は2,000単語以上!
現在は、HTML、CSS、JavaScirpt、PHP、Laravel、Ruby、Python、MySQL、Linux、など10カテゴリーの単語帳が1つのアプリに収録されています。

いつでも、どこでも、隙間時間を有効活用して、プログラミングを効率的に学べるので、ぜひダウンロードしてみてください。

2024年7月アップデート情報:「Laravel」カテゴリーが追加されましました!

2024年8月アップデート情報:「MySQL」「Linux」カテゴリーが追加されましました!


関連するそのほかの単語

Ractor.new

並列実行単位の作成

種類: Ractor

kill

スレッドを強制終了

種類: スレッド

system

外部コマンド実行

種類: プロセス

upto

指定値まで増加ループ

種類: 数値操作

module

メソッドや定数をまとめる

種類: モジュール