【Ruby3.x】Struct::values_at()メソッドの使い方
values_atメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
values_atメソッドは、RubyのStructクラスのインスタンスから、指定されたインデックスに対応する値を複数まとめて配列として取得するメソッドです。
Structクラスは、C言語の構造体のように、名前と値を持つ複数の要素をひとつのオブジェクトとして扱うことができる便利なデータ構造です。このvalues_atメソッドを使用すると、Structオブジェクトに格納されている多くのデータの中から、特定のインデックスにある必要なデータだけを効率的に取り出すことができます。
引数には、取得したい値のインデックスを整数で一つ以上指定します。複数のインデックスをカンマで区切って渡すことができますし、インデックスの範囲を0..2のような範囲オブジェクトで指定することも可能です。インデックスは0から始まることに注意してください。
このメソッドの戻り値は常に、指定されたすべてのインデックスに対応する値を含む新しい配列となります。例えば、ユーザーの名前、年齢、住所を持つStructインスタンスから、名前と住所のみを取り出したい場合に、values_atメソッドは非常に役立ちます。これにより、オブジェクト全体を操作する代わりに、関心のある特定のデータのみに焦点を当てて処理を進めることが可能になります。
構文(syntax)
1Person = Struct.new(:name, :age, :city) 2person = Person.new("John Doe", 30, "New York") 3person.values_at(0, 2)
引数(parameters)
*rest
- rest: 取得したい値に対応するインデックスを可変長引数として指定します
戻り値(return)
Array
指定されたインデックスに対応する要素を値として持つ新しい配列を返します。