generate(str = "", options = Hash.new) {|csv| ... } -> String
[permalink][rdoc][edit]-
このメソッドは与えられた文字列をラップして CSV のオブジェクトとしてブロックに渡します。ブロック内で CSV オブジェクトに行を追加することができます。ブロックを評価した結果は文字列を返します。
このメソッドに与えられた文字列は変更されるので、新しい文字列オブジェクトが必要な場合は Object#dup で複製してください。
- [PARAM] str:
- 文字列を指定します。デフォルトは空文字列です。 2.5.0 では不具合により引数 str を与えた場合の動作に問題があるため、指定したい場合は csv gem を 1.0.1 以上に更新する必要があります。
- [PARAM] options:
- CSV.new のオプションと同じオプションを指定できます。 :encoding というキーを使用すると出力のエンコーディングを指定することができます。 ASCII と互換性の無い文字エンコーディングを持つ文字列を出力する場合は、このヒントを指定する必要があります。
require "csv" 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.generate(text, headers: true) do |csv| csv.add_row(["5", "saburo", "kondo", "34"]) end print csv # => id,first name,last name,age # 1,taro,tanaka,20 # 2,jiro,suzuki,18 # 3,ami,sato,19 # 4,yumi,adachi,21 # 5,saburo,kondo,34
[SEE_ALSO] CSV.new