Ruby 2.2.0 リファレンスマニュアル > ライブラリ一覧 > csvライブラリ > CSV::Tableクラス > values_at

instance method CSV::Table#values_at

values_at(indices_or_headers) -> Array[permalink][rdoc]

デフォルトのミックスモードでは、インデックスのリストを与えると行単位の参照を行い、行の配列を返します。他の方法は列単位の参照と見なします。行単位の参照では、返り値は行ごとの配列を要素に持つ配列です。

探索方法を変更したい場合は CSV::Table#by_col!, CSV::Table#by_row! を使用してください。

アクセスモードを混在させることはできません。

例 ロウモード

require "csv"

row1 = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])
row2 = CSV::Row.new(["header1", "header2"], ["row2_1", "row2_2"])
table = CSV::Table.new([row1, row2])
table.values_at(1) # => [#<CSV::Row "header1":"row2_1" "header2":"row2_2">]
例 カラムモード

require "csv"

row1 = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])
row2 = CSV::Row.new(["header1", "header2"], ["row2_1", "row2_2"])
table = CSV::Table.new([row1, row2])
table.by_col!
table.values_at(1) # => [["row1_2"], ["row2_2"]]

[SEE_ALSO] CSV::Table#by_col!, CSV::Table#by_row!