diff options
Diffstat (limited to 'doc/csv/options/common/col_sep.rdoc')
-rw-r--r-- | doc/csv/options/common/col_sep.rdoc | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/doc/csv/options/common/col_sep.rdoc b/doc/csv/options/common/col_sep.rdoc new file mode 100644 index 0000000000..bb4d3ce389 --- /dev/null +++ b/doc/csv/options/common/col_sep.rdoc @@ -0,0 +1,45 @@ +====== Option +col_sep+ + +Specifies the \String field separator to be used +for both parsing and generating. +The \String will be transcoded into the data's \Encoding before use. + +Default value: + CSV::DEFAULT_OPTIONS.fetch(:col_sep) # => "," (comma) + +For examples in this section: + ary = ['a', 'b', 'c'] + +Using the default: + str = CSV.generate_line(line) + str # => "a,b,c\n" + ary = CSV.parse_line(str) + ary # => ["a", "b", "c"] + +Using +:+ (colon): + col_sep = ':' + str = CSV.generate_line(ary, col_sep: col_sep) + str # => "a:b:c\n" + ary = CSV.parse_line(str, col_sep: col_sep) + ary # => [["a", "b", "c"]] + +Using +::+ (two colons): + col_sep = '::' + str = CSV.generate_line(ary, col_sep: col_sep) + str # => "a::b::c\n" + ary = CSV.parse_line(str, col_sep: col_sep) + ary # => [["a", "b", "c"]] + +--- + +Raises an exception if given the empty \String: + col_sep = '' + # Raises ArgumentError (:col_sep must be 1 or more characters: "") + CSV.parse_line("a:b:c\n", col_sep: col_sep) + +Raises an exception if the given value is not String-convertible: + col_sep = BasicObject.new + # Raises NoMethodError (undefined method `to_s' for #<BasicObject:>) + CSV.generate_line(line, col_sep: col_sep) + # Raises NoMethodError (undefined method `to_s' for #<BasicObject:>) + CSV.parse(str, col_sep: col_sep) |