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

【Ruby3.x】Struct::select()メソッドの使い方

selectメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

selectメソッドは、Structクラスのインスタンスに適用されるメソッドです。Structは、複数の異なる種類のデータを一つにまとめて、名前を使ってアクセスできるようにする、Rubyが提供する便利なデータ構造です。このselectメソッドは、そのStructオブジェクトが保持する各メンバーの値、つまり個々のプロパティの値に対して、引数として渡されたブロック内の条件を一つずつ適用します。

具体的には、Structの各要素が順番にブロックへ渡され、ブロックはその値が特定の条件に合致するかどうかを評価します。ブロックが真(true)と評価した値のみを収集し、それらを要素とする新しい配列を生成して返します。元のStructオブジェクトの内容は一切変更されません。これは非破壊的な操作であり、Structから必要な情報を安全にフィルタリングしたい場合に特に役立ちます。例えば、従業員の名前、部署、給与といった情報を持つStructから、給与が特定の金額を超える値だけを抽出したい場合などに活用でき、構造体内のデータから特定の条件に合致する部分のみを効率的に抽出することが可能です。

構文(syntax)

1User = Struct.new(:name, :age)
2user_data = User.new("Alice", 30)
3user_data.select { |value| value.is_a?(Integer) }

引数(parameters)

引数なし

引数はありません

戻り値(return)

Array または Enumerator

Struct#select は、ブロックの評価結果が真となる要素のみを収集した Array、または Array が返せない場合は Enumerator を返します。

関連コンテンツ