【Ruby3.x】Struct::deconstruct()メソッドの使い方
deconstructメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
deconstructメソッドは、Structクラスのインスタンスをパターンマッチングの際に分解(デコンストラクト)するために使用されるメソッドです。Ruby 3で導入されたこのメソッドは、Structオブジェクトが保持するメンバーの値を、定義された順序に従って配列として返します。これにより、開発者はStructのインスタンスに含まれる複数の値を、より簡潔で柔軟な方法で抽出できるようになります。
たとえば、in演算子を用いたパターンマッチングにおいて、Structオブジェクトを配列として認識させ、その内部の値を直接変数に割り当てることができます。この機能は、複数の値を持つ複雑なデータ構造であるStructオブジェクトの内容を、条件分岐や値の抽出時に直接パターンに当てはめることを可能にします。deconstructメソッドの導入により、Structはパターンマッチングにおいて非常に強力なツールとなり、データの構造とロジックをより明確に記述できるようになります。このメソッドは、Structオブジェクトを配列のように扱って値を取り出すための、Rubyの新しい標準的な方法を提供します。
構文(syntax)
1Person = Struct.new(:name, :age) 2person = Person.new("Alice", 30) 3 4case person 5in [name, age] 6 puts "Name: #{name}, Age: #{age}" 7end
引数(parameters)
引数なし
引数はありません
戻り値(return)
Array
Structオブジェクトを分解して、その要素を配列として返します。