File: skip_lines.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 (37 lines) | stat: -rw-r--r-- 1,084 bytes parent folder | download | duplicates (10)
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
26
27
28
29
30
31
32
33
34
35
36
37
====== Option +skip_lines+

Specifies an object to use in identifying comment lines in the input that are to be ignored:
* If a \Regexp, ignores lines that match it.
* If a \String, converts it to a \Regexp, ignores lines that match it.
* If +nil+, no lines are considered to be comments.

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

For examples in this section:
  str = <<-EOT
  # Comment
  foo,0
  bar,1
  baz,2
  # Another comment
  EOT
  str # => "# Comment\nfoo,0\nbar,1\nbaz,2\n# Another comment\n"

Using the default, +nil+:
  ary = CSV.parse(str)
  ary # => [["# Comment"], ["foo", "0"], ["bar", "1"], ["baz", "2"], ["# Another comment"]]

Using a \Regexp:
  ary = CSV.parse(str, skip_lines: /^#/)
  ary # => [["foo", "0"], ["bar", "1"], ["baz", "2"]]

Using a \String:
  ary = CSV.parse(str, skip_lines: '#')
  ary # => [["foo", "0"], ["bar", "1"], ["baz", "2"]]

---

Raises an exception if given an object that is not a \Regexp, a \String, or +nil+:
  # Raises ArgumentError (:skip_lines has to respond to #match: 0)
  CSV.parse(str, skip_lines: 0)