class CSV::FieldInfo

要約

行が読み込まれたデータソース内でのフィールドの位置の情報を格納するための構造体です。

CSV クラスではこの構造体はいくつかのメソッドのブロックに渡されます。

目次

インスタンスメソッド

継承しているメソッド

Structから継承しているメソッド
Enumerableから継承しているメソッド

インスタンスメソッド

header -> String | nil[permalink][rdoc]

利用可能な場合はヘッダを表す文字列を返します。



require 'csv'

csv = CSV.new("date1,date2\n2018-07-09,2018-07-10", headers: true)
csv.convert do |field,field_info|
  p field_info.header
  Date.parse(field)
end
p csv.first

# => "date1"
# => "date2"
# => #<CSV::Row "date1":#<Date: 2018-07-09 ((2458309j,0s,0n),+0s,2299161j)> "date2":#<Date: 2018-07-10 ((2458310j,0s,0n),+0s,2299161j)>>
header=(val)[permalink][rdoc]

ヘッダを表す文字列をセットします。

[PARAM] val:
ヘッダを表す文字列を指定します。
index -> Integer[permalink][rdoc]

行内で何番目のフィールドかわかるゼロベースのインデックスを返します。



require 'csv'

csv = CSV.new("date1,date2\n2018-07-09,2018-07-10", headers: true)
csv.convert do |field,field_info|
  p field_info.index
  Date.parse(field)
end
p csv.first

# => 0
# => 1
# => #<CSV::Row "date1":#<Date: 2018-07-09 ((2458309j,0s,0n),+0s,2299161j)> "date2":#<Date: 2018-07-10 ((2458310j,0s,0n),+0s,2299161j)>>
index=(val)[permalink][rdoc]

インデックスの値をセットします。

[PARAM] val:
インデックスの値を指定します。
line -> Integer[permalink][rdoc]

行番号を返します。



require 'csv'

csv = CSV.new("date1,date2,date3\n2018-07-09,2018-07-10\n2018-08-09,2018-08-10", headers: true)
csv.convert do |field,field_info|
  p field_info.line
  Date.parse(field)
end
p csv.to_a

# => 2
# => 2
# => 3
# => 3
# => [#<CSV::Row "date1":#<Date: 2018-07-09 ((2458309j,0s,0n),+0s,2299161j)> "date2":#<Date: 2018-07-10 ((2458310j,0s,0n),+0s,2299161j)> "date3":nil>, ...]
line=(val)[permalink][rdoc]

行番号をセットします。

[PARAM] val:
行番号を指定します。