【Ruby3.x】Symbol::to_sym()メソッドの使い方
to_symメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
to_symメソッドは、レシーバ自身をSymbolオブジェクトとして返すメソッドです。Rubyにおけるシンボルは、名前や識別子として使用されるオブジェクトの一種で、一度生成されると内容が変更されることのない(不変な)ユニークな値です。文字列とは異なり、同じ内容のシンボルはメモリ上で常に同じオブジェクトを指すため、比較やハッシュのキーとして効率的に利用されます。
このto_symメソッドが所属するSymbolクラスのインスタンス(つまり、既にシンボルであるオブジェクト)に対して呼び出された場合、メソッドはそのシンボル自身のオブジェクトをそのまま返します。これは、あたかも「あなたは既にシンボルなので、そのままあなたを返します」という動作です。
このメソッドの主な存在意義は、Rubyのオブジェクトが持つ変換メソッドのインターフェースを一貫させる点にあります。例えば、Stringクラスには文字列をシンボルに変換するString#to_symメソッドがあります。さまざまな種類のオブジェクトからシンボルへの変換を試みる際に、対象のオブジェクトが文字列であっても、既にシンボルであっても、一貫してto_symを呼び出すことができるようにするため、Symbolクラスにもこのメソッドが用意されています。これにより、開発者はオブジェクトの種類を事前に細かく判別することなく、統一されたコードでシンボルへの変換処理を記述できるため、柔軟で保守性の高いプログラムを構築する上で役立ちます。
構文(syntax)
1:symbol_name.to_sym
引数(parameters)
引数なし
引数はありません
戻り値(return)
Symbol
このメソッドは、自身が保持しているシンボルをそのまま返します。