Ruby 2.4.0 リファレンスマニュアル > ライブラリ一覧 > csvライブラリ > CSVクラス > instance
instance(data = $stdout, options = Hash.new) -> CSV
[permalink][rdoc]instance(data = $stdout, options = Hash.new) {|csv| ... } -> object
このメソッドは CSV.new のように CSV のインスタンスを返します。しかし、返される値は Object#object_id と与えられたオプションをキーとしてキャッシュされます。
ブロックが与えられた場合、生成されたインスタンスをブロックに渡して評価した結果を返します。
require "csv"
options = { headers: true }
text =<<-EOS
id,first name,last name,age
1,taro,tanaka,20
2,jiro,suzuki,18
3,ami,sato,19
4,yumi,adachi,21
EOS
csv = CSV.instance(text, options)
csv2 = CSV.instance(text, options)
csv.object_id == csv2.object_id # => true
print csv.read
# => id,first name,last name,age
# 1,taro,tanaka,20
# 2,jiro,suzuki,18
# 3,ami,sato,19
# 4,yumi,adachi,21
[SEE_ALSO] CSV.new