Ruby 1.8.7 リファレンスマニュアル > ライブラリ一覧 > csvライブラリ > CSVクラス > generate_row

singleton method CSV.generate_row

generate_row(src, cells, out_dev, fs = nil, rs = nil) -> Fixnum[permalink][rdoc]

src で指定された配列をパースして csv形式の文字列として(行区切り文字も含めて) out_dev に出力します。 返り値として fs で区切ったフィールド(cell)の数を返します。

[PARAM] src:
パースする配列
[PARAM] cells:
パースするフィールド数。
[PARAM] out_dev:
csv形式の文字列の出力先。
[PARAM] fs:
フィールドセパレータの指定。 nil (デフォルト) で ',' をセパレータとします。
[PARAM] rs:
行区切り文字の指定。nil (デフォルト) で CrLf / Lf。 Cr を行区切りとしたい場合は ?\r を渡します。

注意

配列のパース時に""(空文字)と値なし(nil)を区別します。 例えば、["a", "", nil, "b"] の配列を渡した場合に a,"", , b という文字列を生成します。

例:

row1 = ['a', 'b', 'c']
row2 = ['1', '2', '3']
row3 = ['A', 'B', 'C']
src = [row1, row2, row3]
buf = ''
src.each do |row|
  parsed_cells = CSV.generate_row(row, 2, buf)
end
p buf #=>"a,b\n1,2\n,A,B\n"