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


Ruby CSV.instance用法及代码示例


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

用法

instance(string, **options)
instance(io = $stdout, **options)
instance(string, **options) {|csv| ... }
instance(io = $stdout, **options) {|csv| ... }

创建或检索缓存的 CSV 对象。有关参数和选项,请参阅 CSV.new

此 API 不是Ractor-safe。

没有给出块,返回一个 CSV 对象。

第一次调用 instance 创建并缓存一个 CSV 对象:

s0 = 's0'
csv0 = CSV.instance(s0)
csv0.class # => CSV

随后使用 same stringio 调用 instance 检索相同的缓存对象:

csv1 = CSV.instance(s0)
csv1.class # => CSV
csv1.equal?(csv0) # => true # Same CSV object

随后使用 different stringio 调用 instance 创建并缓存 different CSV 对象。

s1 = 's1'
csv2 = CSV.instance(s1)
csv2.equal?(csv0) # => false # Different CSV object

所有缓存的对象仍然可用:

csv3 = CSV.instance(s0)
csv3.equal?(csv0) # true # Same CSV object
csv4 = CSV.instance(s1)
csv4.equal?(csv2) # true # Same CSV object

当给定一个块时,使用创建或检索的 CSV 对象调用该块;返回块的返回值:

CSV.instance(s0) {|csv| :foo } # => :foo

相关用法


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