當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Ruby Table.values_at用法及代碼示例

本文簡要介紹ruby語言中 CSV::Table.values_at 的用法。

用法

values_at(*indexes) → array_of_rows
values_at(*headers) → array_of_columns_data

如果訪問模式是 :row:col_or_row ,並且每個參數是整數或範圍,則返回行。否則,返回列數據。

在任何一種情況下,返回值都按照參數指定的順序。爭論可能會重複。

以 CSV::Row 對象數組的形式返回行。

沒有參數:

source = "Name,Value\nfoo,0\nbar,1\nbaz,2\n"
table = CSV.parse(source, headers: true)
table.values_at # => []

一項指標:

values = table.values_at(0)
values # => [#<CSV::Row "Name":"foo" "Value":"0">]

兩個指標:

values = table.values_at(2, 0)
values # => [#<CSV::Row "Name":"baz" "Value":"2">, #<CSV::Row "Name":"foo" "Value":"0">]

一個範圍:

values = table.values_at(1..2)
values # => [#<CSV::Row "Name":"bar" "Value":"1">, #<CSV::Row "Name":"baz" "Value":"2">]

範圍和索引:

values = table.values_at(0..1, 1..2, 0, 2)
pp values

輸出:

[#<CSV::Row "Name":"foo" "Value":"0">,
 #<CSV::Row "Name":"bar" "Value":"1">,
 #<CSV::Row "Name":"bar" "Value":"1">,
 #<CSV::Row "Name":"baz" "Value":"2">,
 #<CSV::Row "Name":"foo" "Value":"0">,
 #<CSV::Row "Name":"baz" "Value":"2">]

將列數據作為行數組返回,每個數組都包含該行的指定列數據:

values = table.values_at('Name')
values # => [["foo"], ["bar"], ["baz"]]
values = table.values_at('Value', 'Name')
values # => [["0", "foo"], ["1", "bar"], ["2", "baz"]]

相關用法


注:本文由純淨天空篩選整理自ruby-lang.org大神的英文原創作品 Table.values_at。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。