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


Ruby Row.fields用法及代码示例


本文简要介绍ruby语言中 CSV::Row.fields 的用法。

用法

fields(*specifiers)
也别名为:values_at

根据给定的 specifiers 返回字段值,可以是以下的任何混合:

  • 整数索引。

  • 整数索引的范围。

  • 包含标题和偏移量的 2 元素数组。

  • 标题。

  • 标题范围。

对于上述前四种情况之一的specifier,返回self.field(specifier)的结果;见 field

尽管可能有任意数量的 specifiers ,但此处的示例将一次说明一个。

当说明符是整数 index 时,返回 self.field(index) L

source = "Name,Name,Name\nFoo,Bar,Baz\n"
table = CSV.parse(source, headers: true)
row = table[0]
row.fields(1) # => ["Bar"]

当说明符是整数范围 range 时,返回 self.field(range)

row.fields(1..2) # => ["Bar", "Baz"]

当说明符是 2 元素数组 array 时,返回 self.field(array) L

row.fields('Name', 1) # => ["Foo", "Bar"]

当说明符是标头 header 时,返回 self.field(header) L

row.fields('Name') # => ["Foo"]

当说明符是标头范围 range 时,从 range.startrange.end 的索引形成一个新的 Range new_range ,并返回 self.field(new_range)

source = "Name,NAME,name\nFoo,Bar,Baz\n"
table = CSV.parse(source, headers: true)
row = table[0]
row.fields('Name'..'NAME') # => ["Foo", "Bar"]

如果没有给出参数,则返回所有字段:

row.fields # => ["Foo", "Bar", "Baz"]

相关用法


注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 Row.fields。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。