Ruby 1.9.2 リファレンスマニュアル > ライブラリ一覧 > csvライブラリ > CSV::Writerクラス
class CSV::Writer
クラスの継承リスト: CSV::Writer < Object < Kernel < BasicObject
Abstract
CSVの書き込み時のベースとなるクラス
特異メソッド
create(str_or_writable[, fs = ','[, rs = nil]]) -> CSV::BasicWriter
-
str_or_writable を書き込み先とする CSV::BasicWriter クラスのインスタンスを生成します。
- [PARAM] str_or_writable:
- CSVデータの書き込み先。このパラメータとして渡すインスタンスには<<メソッドが定義されている必要があります。
- [PARAM] fs:
- 書き込みデータのフィールドセパレータの指定。 nil (デフォルト) で ',' をセパレータとします。
- [PARAM] rs:
- 行区切り文字の指定。nil (デフォルト) で CrLf / Lf。 Cr を行区切りとしたい場合は ?\r を渡します。
generate(str_or_writable[, fs = ','[, rs = nil]]) -> CSV::BasicWriter
generate(str_or_writable[, fs = ','[, rs = nil]]) { |row| ... } -> nil
-
str_or_writable を書き込み先とする CSV::BasicWriter クラスのインスタンスを生成し、書き込み先(str_or_writable)をブロックに渡します。
- [PARAM] str_or_writable:
- CSVデータの書き込み先。このパラメータとして渡すインスタンスには<<メソッドが定義されている必要があります。
- [PARAM] fs:
- 書き込みデータのフィールドセパレータの指定。 nil (デフォルト) で ',' をセパレータとします。
- [PARAM] rs:
- 行区切り文字の指定。nil (デフォルト) で CrLf / Lf。 Cr を行区切りとしたい場合は ?\r を渡します。
例:
s = "1,2,3,4\n" CSV::Writer.generate(s){|data| data << ['a', 'b', 'c'] } p s #=> "1,2,3,4\na,b,c\n"
インスタンスメソッド
self << row -> CSV::BasicWriter
add_row(row) -> CSV::BasicWriter
-
引数で渡されたデータを1行分としてCSVデータに追加します。
注意:
データ追加時に""(空文字)と値なし(nil)を区別します。 例えば、["a", "", nil, "b"] の配列を渡した場合に a, "", , b という行が追加されます。
例:
csv_w = CSV::Writer.generate("") row = [1, 2, 3] csv_w.add_row(row) #=> "1,2,3\n" row = ["a", "", nil, "b"] csv_w.add_row(row) #=> "1,2,3\na,\"\",,b\n"
close -> nil
-
privateのterminateメソッドを呼び出します。
privateメソッド
terminate -> nil
-
インスタンス破棄時処理が必要な場合に再定義してください。