【Ruby3.x】Fiber::[]=()メソッドの使い方
[]=メソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
[]=メソッドは、現在実行中のFiber(ファイバー)に紐付くローカルストレージに、指定したキーと値を設定するメソッドです。
Fiberクラスは、プログラムの実行フローを一時停止・再開できる軽量な実行単位であるファイバーを表します。各ファイバーは、それぞれ独立した実行コンテキストを持ち、その中に独自のローカルストレージを持つことができます。このローカルストレージは、特定のファイバー内だけで有効なデータを保持するための領域として利用されます。
この[]=メソッドは、Fiber.current[キー] = 値 のように記述することで、現在動作しているファイバーのローカルストレージにデータを保存する際に使用します。例えば、あるリクエスト処理をファイバーで管理している際に、そのリクエスト固有のセッション情報やユーザー設定などを、他のファイバーと混同することなく安全に保持するために非常に役立ちます。
[]=メソッドによって保存されたデータは、そのファイバーが実行中である限り有効であり、他のファイバーやスレッドからは直接アクセスできません。これにより、並行処理を行うアプリケーションにおいて、データの独立性と安全性を保ちながら、複雑な状態管理をシンプルに行うことが可能になります。
構文(syntax)
1f = Fiber.new do 2 # ... 3end 4f[:key] = "value"
引数(parameters)
key, value
- key: ファイバーに格納する値のキー
- value: ファイバーに格納する値
戻り値(return)
Object
Fiberクラスの[]= メソッドは、Fiberの実行コンテキストにおける指定されたキーに対応する値を設定します。このメソッドは、設定された値を返します。