class CSV::Builder
inherits Reference
¶
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\"", '"', :sym
# 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""","""",sym
1,2,3
4,5,6,7,8
Class methods¶
.new(io : IO, separator : Char = DEFAULT_SEPARATOR, quote_char : Char = DEFAULT_QUOTE_CHAR, quoting : Quoting = Quoting::RFC)
¶
(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
.
Methods¶
#row
¶
View source
#row(values : Enumerable)
¶
(values : Enumerable)
Appends the given values as a single row, and then a newline.