Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【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オブジェクトを分解して、その要素を配列として返します。

関連コンテンツ