class CSV2::Builder
- CSV2::Builder
- Reference
- Object
Overview
A CSV Builder writes CSV to an IO
.
require "csv"
result = CSV.build do |csv|
# A row can be written by specifying several values
csv.row "Hello", 1, 'a', "String with \"quotes\""
# Or an enumerable
csv.row [1, 2, 3]
# Or using a block, and appending to the row
csv.row do |row|
# Appending a single value
row << 4
# Or multiple values
row.concat 5, 6
# Or an enumerable
row.concat [7, 8]
end
end
puts result
Output:
Hello,1,a,"String with ""quotes"""
1,2,3
4,5,6,7,8
Defined in:
csv/builder.crConstructors
-
.new(io : IO, separator : Char = DEFAULT_SEPARATOR, quote_char : Char = DEFAULT_QUOTE_CHAR, quoting : Quoting = Quoting::RFC)
Creates a builder that will write to the given
IO
.
Instance Method Summary
-
#row(&)
Yields a
CSV2::Row
to append a row. -
#row(values : Enumerable)
Appends the given values as a single row, and then a newline.
-
#row(*values)
ditto
Constructor Detail
def self.new(io : IO, separator : Char = DEFAULT_SEPARATOR, quote_char : Char = DEFAULT_QUOTE_CHAR, quoting : Quoting = Quoting::RFC)
#
Creates a builder that will write to the given IO
.