当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。