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


Ruby Row.fetch用法及代码示例


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

用法

fetch(header)
fetch(header, default)
fetch(header) {|row| ... }

返回由 header 指定的字段值。

使用单个参数 header ,返回该标头的字段值(首先找到):

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

如果标头不存在,则引发异常 KeyError

给定参数 headerdefault 时,如果标头存在,则返回标头的字段值(首先找到),否则返回 default

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

使用参数header 和给定的块,如果标头存在,则返回标头的字段值(第一次找到);否则调用该块并返回其返回值:

source = "Name,Name,Name\nFoo,Bar,Baz\n"
table = CSV.parse(source, headers: true)
row = table[0]
row.fetch('Name') {|header| fail 'Cannot happen' } # => "Foo"
row.fetch(:nosuch) {|header| "Header '#{header} not found'" } # => "Header 'nosuch not found'"

相关用法


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