File: write_converters.rdoc

package info (click to toggle)
ruby3.3 3.3.8-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 153,620 kB
  • sloc: ruby: 1,244,308; ansic: 836,474; yacc: 28,074; pascal: 6,748; sh: 3,913; python: 1,719; cpp: 1,158; makefile: 742; asm: 712; javascript: 394; lisp: 97; perl: 62; awk: 36; sed: 23; xml: 4
file content (25 lines) | stat: -rw-r--r-- 889 bytes parent folder | download | duplicates (9)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
====== Option +write_converters+

Specifies converters to be used in generating fields.
See {Write Converters}[#class-CSV-label-Write+Converters]

Default value:
  CSV::DEFAULT_OPTIONS.fetch(:write_converters) # => nil

With no write converter:
  str = CSV.generate_line(["\na\n", "\tb\t", " c "])
  str # => "\"\na\n\",\tb\t, c \n"

With a write converter:
  strip_converter = proc {|field| field.strip }
  str = CSV.generate_line(["\na\n", "\tb\t", " c "], write_converters: strip_converter)
  str # => "a,b,c\n"

With two write converters (called in order):
  upcase_converter = proc {|field| field.upcase }
  downcase_converter = proc {|field| field.downcase }
  write_converters = [upcase_converter, downcase_converter]
  str = CSV.generate_line(['a', 'b', 'c'], write_converters: write_converters)
  str # => "a,b,c\n"

See also {Write Converters}[#class-CSV-label-Write+Converters]