るりまサーチ (Ruby 3.3)

最速Rubyリファレンスマニュアル検索!
47件ヒット [1-47件を表示] (0.045秒)

別のキーワード

  1. fiddle ruby_free
  2. rbconfig ruby
  3. fiddle build_ruby_platform
  4. rake ruby
  5. rubygems/defaults ruby_engine

クラス

キーワード

検索結果

CSV#header_convert {|field, field_info| ... } (18625.0)

CSV#convert に似ていますが、ヘッダ行用のメソッドです。

...
CSV
#convert に似ていますが、ヘッダ行用のメソッドです。

このメソッドはヘッダ行を読み込む前に呼び出さなければなりません。

@param name 変換器の名前を指定します。

//emlist[例 name を指定][ruby]{
require "csv"

csv
= CSV.new("heade...
...1,row1_2", headers: true)
csv
.header_convert(:symbol)
csv
.first.headers # => [:header1, :header2]
//}

//emlist[例 ブロックを指定][ruby]{
require "csv"

csv
= CSV.new("header1,header2\nrow1_1,row1_2", headers: true)
csv
.header_convert do |field|
field.to_sym
end
csv
.first.headers # => [:he...
...ader1, :header2]
//}

@see CSV#header_converters, CSV#convert...

CSV#header_convert {|field| ... } (18625.0)

CSV#convert に似ていますが、ヘッダ行用のメソッドです。

...
CSV
#convert に似ていますが、ヘッダ行用のメソッドです。

このメソッドはヘッダ行を読み込む前に呼び出さなければなりません。

@param name 変換器の名前を指定します。

//emlist[例 name を指定][ruby]{
require "csv"

csv
= CSV.new("heade...
...1,row1_2", headers: true)
csv
.header_convert(:symbol)
csv
.first.headers # => [:header1, :header2]
//}

//emlist[例 ブロックを指定][ruby]{
require "csv"

csv
= CSV.new("header1,header2\nrow1_1,row1_2", headers: true)
csv
.header_convert do |field|
field.to_sym
end
csv
.first.headers # => [:he...
...ader1, :header2]
//}

@see CSV#header_converters, CSV#convert...

CSV#header_convert(name) (18625.0)

CSV#convert に似ていますが、ヘッダ行用のメソッドです。

...
CSV
#convert に似ていますが、ヘッダ行用のメソッドです。

このメソッドはヘッダ行を読み込む前に呼び出さなければなりません。

@param name 変換器の名前を指定します。

//emlist[例 name を指定][ruby]{
require "csv"

csv
= CSV.new("heade...
...1,row1_2", headers: true)
csv
.header_convert(:symbol)
csv
.first.headers # => [:header1, :header2]
//}

//emlist[例 ブロックを指定][ruby]{
require "csv"

csv
= CSV.new("header1,header2\nrow1_1,row1_2", headers: true)
csv
.header_convert do |field|
field.to_sym
end
csv
.first.headers # => [:he...
...ader1, :header2]
//}

@see CSV#header_converters, CSV#convert...

CSV#return_headers? -> bool (18544.0)

ヘッダを返す場合は、真を返します。 そうでない場合は、偽を返します。

...]{
require "csv"

csv
= CSV.new("header1,header2\nrow1_1,row1_2", headers: true, return_headers: false)
csv
.return_headers? # => false
csv
.shift # => #<CSV::Row "header1":"row1_1" "header2":"row1_2">

csv
= CSV.new("header1,header2\nrow1_1,row1_2", headers: true, return_headers: true)
csv
.return_hea...
...ders? # => true
csv
.shift # => #<CSV::Row "header1":"header1" "header2":"header2">
//}

@see CSV.new...

CSV#write_headers? -> bool (18490.0)

ヘッダを出力先に書き込む場合は真を返します。 そうでない場合は偽を返します。

...st[例][ruby]{
require "csv"

csv
= CSV.new("date1,date2\n2018-07-09,2018-07-10")
csv
.write_headers? # => nil

header = ["header1", "header2"]
row = ["row1_1", "row1_2"]
result = CSV.generate(headers: header, write_headers: false) do |csv|
csv
.write_headers? # => false
csv
<< row
end
result # =>...
..."row1_1,row1_2\n"

result = CSV.generate(headers: header, write_headers: true) do |csv|
csv
.write_headers? # => true
csv
<< row
end
result # => "header1,header2\nrow1_1,row1_2\n"
//}

@see CSV.new...

絞り込み条件を変える

CSV#header_converters -> Array (18475.0)

現在有効なヘッダ用変換器のリストを返します。

...ェクトを返します。

//emlist[例][ruby]{
require "csv"

csv
= CSV.new("HEADER1,HEADER2\nrow1_1,row1_2", headers: true, header_converters: CSV::HeaderConverters.keys)
csv
.header_converters # => [:downcase, :symbol]
csv
.read.to_a # => header2], ["row1_1", "row1_2"
//}

@see CSV.new...

CSV::Row#header?(name) -> bool (18475.0)

自身のヘッダに与えられた値が含まれている場合は真を返します。 そうでない場合は偽を返します。

...い場合は偽を返します。

@param name この行のヘッダに含まれているかどうか調べたい値を指定します。

//emlist[例][ruby]{
require "csv"

row = CSV::Row.new(["header1", "header2"], [1, 2])
row.header?("header1") # => true
row.header?("header3") # => false
//}...

CSV#headers -> Array | true | nil (18472.0)

nil を返した場合は、ヘッダは使用されません。 真を返した場合は、ヘッダを使用するが、まだ読み込まれていません。 配列を返した場合は、ヘッダは既に読み込まれています。

...は既に読み込まれています。

//emlist[例][ruby]{
require "csv"

csv
= CSV.new("header1,header2\nrow1_1,row1_2")
csv
.headers # => nil
csv
= CSV.new("header1,header2\nrow1_1,row1_2", headers: true)
csv
.headers # => true
csv
.read
csv
.headers # =>["header1", "header2"]
//}

@see CSV.new...

CSV::Row#include?(name) -> bool (9175.0)

自身のヘッダに与えられた値が含まれている場合は真を返します。 そうでない場合は偽を返します。

...い場合は偽を返します。

@param name この行のヘッダに含まれているかどうか調べたい値を指定します。

//emlist[例][ruby]{
require "csv"

row = CSV::Row.new(["header1", "header2"], [1, 2])
row.header?("header1") # => true
row.header?("header3") # => false
//}...

CSV::Row#delete(header_or_index, minimum_index = 0) -> [object, object] | nil (871.0)

ヘッダの名前かインデックスで行からフィールドを削除するために使用します。

...by]{
require "csv"

row = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])

row # => #<CSV::Row "header1":"row1_1" "header2":"row1_2">
row.delete("header1")
row # => #<CSV::Row "header2":"row1_2">
//}

//emlist[例 ヘッダの index で指定][ruby]{
require "csv"

row = CSV::Row.new(["he...
...w # => #<CSV::Row "header1":"row1_1" "header2":"row1_2">
row.delete(0)
row # => #<CSV::Row "header2":"row1_2">
//}

//emlist[例 ヘッダの名前と offset で指定][ruby]{
require "csv"

row = CSV::Row.new(["header1", "header2", "header1"], ["row1_1", "row1_2", "row1_3"])

row # => #<CSV::Row "h...
...eader1":"row1_1" "header2":"row1_2" "header1":"row1_3">
row.delete("header1", 1)
row # => #<CSV::Row "header1":"row1_1" "header2":"row1_2">
//}

@see CSV::Row#field...

絞り込み条件を変える

CSV::Row#[]=(header_or_index, value) (853.0)

ヘッダの名前かインデックスでフィールドを探し、値をセットします。

...前で指定][ruby]{
require "csv"

row = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])

row["header1"] # => "row1_1"
row["header1"] = "updated"
row["header1"] # => "updated"
//}

//emlist[例 ヘッダの index で指定][ruby]{
require "csv"

row = CSV::Row.new(["header1", "header2"...
..."csv"

row = CSV::Row.new(["header1", "header2", "header1"], ["row1_1", "row1_2", "row1_3"])

row # => #<CSV::Row "header1":"row1_1" "header2":"row1_2" "header1":"row1_3">
row["header1", 1] = "updated"
row # => #<CSV::Row "header1":"row1_1" "header2":"row1_2" "header1":"updated">
//}


@see CSV::...

CSV::Table#[](header) -> [String] | [nil] (817.0)

ミックスモードでは、このメソッドは引数に行番号を指定すれば行単位で動作 し、ヘッダの名前を指定すれば列単位で動作します。

...ヘッダの名前を指定すれば列単位で動作します。

このメソッドを呼び出す前に CSV::Table#by_col! を呼び出すとカラム
モードになります。また CSV::Table#by_row! を呼び出すとロウモード
になります。

@param index ミックスモード・...
...][ruby]{
require "csv"

row1 = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])
row2 = CSV::Row.new(["header1", "header2"], ["row2_1", "row2_2"])
table = CSV::Table.new([row1, row2])

# ミックスモード
p table.mode # => :col_or_row
p table[0] # => #<CSV::Row "header1":"...
...row1_1" "header2":"row1_2">
p table[1] # => #<CSV::Row "header1":"row2_1" "header2":"row2_2">
p table["header2"] # => ["row1_2", "row2_2"]
p table[0..1] # => [#<CSV::Row "header1":"row1_1" "header2":"row1_2">, #<CSV::Row "header1":"row2_1" "header2":"row2_2">]

# カラムモード
tabl...

CSV::Table#[]=(index_or_header, value) (619.0)

ミックスモードでは、このメソッドは引数に行番号を指定すれば行単位で動作 し、ヘッダの名前を指定すれば列単位で動作します。

...で動作します。

このメソッドを呼び出す前に CSV::Table#by_col! を呼び出すとカラム
モードになります。また CSV::Table#by_row! を呼び出すとロウモード
になります。

行には配列か CSV::Row のインスタンスを指定します。

列に値...
...][ruby]{
require "csv"

row1 = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])
row2 = CSV::Row.new(["header1", "header2"], ["row2_1", "row2_2"])
row3 = CSV::Row.new(["header1", "header2"], ["row3_1", "row3_2"])
table = CSV::Table.new([row1, row2])
table[0] # => #<CSV::Row "header1":"row1_...
...1" "header2":"row1_2">
table[1] # => #<CSV::Row "header1":"row2_1" "header2":"row2_2">
table[1] = row3
table[1] # => #<CSV::Row "header1":"row3_1" "header2":"row3_2">
table.by_col!
table[0] # => ["row1_1", "row3_1"]
table[1] # => ["row1_2", "row3_2"]
table[1] = ["row1_2", "row2_2"]
table[1] # => ["r...

CSV::Row#delete_if {|header, field| ... } -> self (583.0)

与えられたブロックにヘッダとフィールドのペアを渡して評価します。 評価した結果が真である場合に、その組を自身から削除します。

...require "csv"

row = CSV::Row.new(["header1", "header2", "header3", "header4"], ["valid1", "valid2", "invalid", "valid4"])

row # => #<CSV::Row "header1":"valid1" "header2":"valid2" "header3":"invalid" "header4":"valid4">
row.delete_if { |header, field| field == "invalid" }
row # => #<CSV::Row "hea...

CSV::Table#values_at(indices_or_headers) -> Array (580.0)

デフォルトのミックスモードでは、インデックスのリストを与えると行単位の 参照を行い、行の配列を返します。他の方法は列単位の参照と見なします。行 単位の参照では、返り値は行ごとの配列を要素に持つ配列です。

...たい場合は CSV::Table#by_col!,
CSV
::Table#by_row! を使用してください。

アクセスモードを混在させることはできません。

//emlist[例 ロウモード][ruby]{
require "csv"

row1 = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])
row2 = CSV::Row.new(["heade...
...["row2_1", "row2_2"])
table = CSV::Table.new([row1, row2])
table.values_at(1) # => [#<CSV::Row "header1":"row2_1" "header2":"row2_2">]
//}

//emlist[例 カラムモード][ruby]{
require "csv"

row1 = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])
row2 = CSV::Row.new(["header1", "header...
...2"], ["row2_1", "row2_2"])
table = CSV::Table.new([row1, row2])
table.by_col!
table.values_at(1) # => [["row1_2"], ["row2_2"]]
//}

@see CSV::Table#by_col!, CSV::Table#by_row!...

絞り込み条件を変える

CSV::Row#each {|header, field| ... } -> self (547.0)

与えられたブロックにヘッダとフィールドの組を渡して評価します。

...ドの組を渡して評価します。

@return メソッドチェーンのために自身を返します。

//emlist[例][ruby]{
require "csv"

row = CSV::Row.new(["header1", "header2", "header3", "header4"], [1, 2, 3, 4])
row.each { |header, field| puts "#{header} - #{field}" }

# => header1 - 1...

CSV::Table#[](index) -> CSV::Row | [String] | nil (517.0)

ミックスモードでは、このメソッドは引数に行番号を指定すれば行単位で動作 し、ヘッダの名前を指定すれば列単位で動作します。

...ヘッダの名前を指定すれば列単位で動作します。

このメソッドを呼び出す前に CSV::Table#by_col! を呼び出すとカラム
モードになります。また CSV::Table#by_row! を呼び出すとロウモード
になります。

@param index ミックスモード・...
...][ruby]{
require "csv"

row1 = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])
row2 = CSV::Row.new(["header1", "header2"], ["row2_1", "row2_2"])
table = CSV::Table.new([row1, row2])

# ミックスモード
p table.mode # => :col_or_row
p table[0] # => #<CSV::Row "header1":"...
...row1_1" "header2":"row1_2">
p table[1] # => #<CSV::Row "header1":"row2_1" "header2":"row2_2">
p table["header2"] # => ["row1_2", "row2_2"]
p table[0..1] # => [#<CSV::Row "header1":"row1_1" "header2":"row1_2">, #<CSV::Row "header1":"row2_1" "header2":"row2_2">]

# カラムモード
tabl...

CSV::Table#[](range) -> [CSV::Row]| [Array] | nil (517.0)

ミックスモードでは、このメソッドは引数に行番号を指定すれば行単位で動作 し、ヘッダの名前を指定すれば列単位で動作します。

...ヘッダの名前を指定すれば列単位で動作します。

このメソッドを呼び出す前に CSV::Table#by_col! を呼び出すとカラム
モードになります。また CSV::Table#by_row! を呼び出すとロウモード
になります。

@param index ミックスモード・...
...][ruby]{
require "csv"

row1 = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])
row2 = CSV::Row.new(["header1", "header2"], ["row2_1", "row2_2"])
table = CSV::Table.new([row1, row2])

# ミックスモード
p table.mode # => :col_or_row
p table[0] # => #<CSV::Row "header1":"...
...row1_1" "header2":"row1_2">
p table[1] # => #<CSV::Row "header1":"row2_1" "header2":"row2_2">
p table["header2"] # => ["row1_2", "row2_2"]
p table[0..1] # => [#<CSV::Row "header1":"row1_1" "header2":"row1_2">, #<CSV::Row "header1":"row2_1" "header2":"row2_2">]

# カラムモード
tabl...

CSV::Row#[](header_or_index, minimum_index = 0) -> object | nil (514.0)

ヘッダの名前かインデックスで値を取得します。フィールドが見つからなかった場合は nil を返します。

...の名前を探します。
重複しているヘッダがある場合に便利です。

//emlist[例][ruby]{
require "csv"

row = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])

row.field("header1") # => "row1_1"
row.field("header2") # => "row1_2"
row["header1"]...

CSV::Row#field(header_or_index, minimum_index = 0) -> object | nil (514.0)

ヘッダの名前かインデックスで値を取得します。フィールドが見つからなかった場合は nil を返します。

...の名前を探します。
重複しているヘッダがある場合に便利です。

//emlist[例][ruby]{
require "csv"

row = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])

row.field("header1") # => "row1_1"
row.field("header2") # => "row1_2"
row["header1"]...

絞り込み条件を変える

CSV::Row#index(header, minimum_index = 0) -> Integer (511.0)

与えられたヘッダの名前に対応するインデックスを返します。

...の名前を探します。
重複しているヘッダがある場合に便利です。

//emlist[例][ruby]{
require "csv"

row = CSV::Row.new(["header1", "header2", "header1"], [1, 2, 3])
row.index("header1") # => 0
row.index("header1", 1) # => 2
//}

@see CSV::Row#field...

CSV::Row#[]=(header, offset, value) (493.0)

ヘッダの名前でフィールドを探し、値をセットします。

...トします。

@param header ヘッダの名前を指定します。

@param offset このインデックスより後で、ヘッダの名前を探します。
重複しているヘッダがある場合に便利です。

@param value 値を指定します。

@see CSV::Row#field...

CSV::Table#delete(index_or_header) -> object (475.0)

指定された行か列を削除して返します。

...変更したい場合は CSV::Table#by_col!,
CSV
::Table#by_row! を使用してください。

//emlist[例][ruby]{
require "csv"

row1 = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])
row2 = CSV::Row.new(["header1", "header2"], ["row2_1", "row2_2"])
table = CSV::Table.new([row1, row2])...
...table.delete(1)
table.to_a # => [["header1", "header2"], ["row1_1", "row1_2"]]
//}

@see CSV::Table#by_col!, CSV::Table#by_row!, CSV::Table#delete_if...

CSV::Row#<<(arg) -> self (262.0)

自身に与えられたデータを追加します。

...の配列を指定][ruby]{
require "csv"

row = CSV::Row.new([], [], true)

row << ["header1", "row1_1"]
row << ["header2", "row1_2"]
row.to_a # => [["header1", "row1_1"], ["header2", "row1_2"]]
//}

//emlist[例 Hash を指定][ruby]{
require "csv"

row = CSV::Row.new([], [], true)

row << { "heade...

CSV::Table#delete_if {|column_name, values| ... } -> self (262.0)

ブロックを評価した結果が真である行か列を削除します。

...mlist[例 ロウモード][ruby]{
require "csv"

row1 = CSV::Row.new(["header1", "header2"], ["row1_1", "valid"])
row2 = CSV::Row.new(["header1", "header2"], ["row2_1", "invalid"])
row3 = CSV::Row.new(["header1", "header2"], ["row3_1", "valid"])
table = CSV::Table.new([row1, row2, row3])
table.delet...
...", "valid"]]
//}

//emlist[例 カラムモード][ruby]{
require "csv"
row1 = CSV::Row.new(["id", "name"], [1, "tanaka"])
row2 = CSV::Row.new(["id", "name"], [2, "suzuki"])
row3 = CSV::Row.new(["id", "name"], [3, "sato"])
table = CSV::Table.new([row1, row2, row3])
table.by_col!
table.delete_if { |c...
...olumn_name, values| column_name == "id" }
table.to_a # => [["name"], ["tanaka"], ["suzuki"], ["sato"]]
//}

@see CSV::Table#delete...

絞り込み条件を変える

CSV::Table#delete_if {|row| ... } -> self (262.0)

ブロックを評価した結果が真である行か列を削除します。

...mlist[例 ロウモード][ruby]{
require "csv"

row1 = CSV::Row.new(["header1", "header2"], ["row1_1", "valid"])
row2 = CSV::Row.new(["header1", "header2"], ["row2_1", "invalid"])
row3 = CSV::Row.new(["header1", "header2"], ["row3_1", "valid"])
table = CSV::Table.new([row1, row2, row3])
table.delet...
...", "valid"]]
//}

//emlist[例 カラムモード][ruby]{
require "csv"
row1 = CSV::Row.new(["id", "name"], [1, "tanaka"])
row2 = CSV::Row.new(["id", "name"], [2, "suzuki"])
row3 = CSV::Row.new(["id", "name"], [3, "sato"])
table = CSV::Table.new([row1, row2, row3])
table.by_col!
table.delete_if { |c...
...olumn_name, values| column_name == "id" }
table.to_a # => [["name"], ["tanaka"], ["suzuki"], ["sato"]]
//}

@see CSV::Table#delete...

CSV#force_quotes? -> bool (244.0)

出力される全てのフィールドがクオートされる場合は、真を返します。

...]{
require "csv"

rows = [["header1", "header2"], ["row1_1,", "row1_2"]]
result = CSV.generate(force_quotes: false) do |csv|
rows.each { |row| csv << row }
csv
.force_quotes? # => false
end
print result

# => header1,header2
# "row1_1,",row1_2
//}

//emlist[例][ruby]{
require "csv"

rows = [[...
..."header1", "header2"], ["row1_1,", "row1_2"]]
result = CSV.generate(force_quotes: true) do |csv|
rows.each { |row| csv << row }
csv
.force_quotes? # => true
end
print result

# => true
# => "header1","header2"
# "row1_1,","row1_2"
//}

@see CSV.new...

CSV::Row#deconstruct_keys(keys) -> Hash (244.0)

パターンマッチに使用するヘッダの名前と値の Hash を返します。

...ダの名前の配列を指定します。nil の場合は全てをパターンマッチに使用します。

//emlist[例][ruby]{
require "csv"

row = CSV::Row.new([:header1, :header2, :header3], [1, 2, 3])
case row
in { header1: 2.., header2: 2.., header3: 2.. }
puts "all 2 or more"
in { header...

CSV::Table#==(other) -> bool (244.0)

自身の全ての行が比較対象と同じである場合は真を返します。 そうでない場合は偽を返します。

...m other CSV::Table を指定します。

//emlist[例][ruby]{
require "csv"

row1_1 = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])
row1_2 = CSV::Row.new(["header1", "header2"], ["row2_1", "row2_2"])
row2_1 = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])
row2_2 = CSV::Row....
...new(["header1", "header2"], ["row2_1", "row2_2"])
table1 = CSV::Table.new([row1_1, row1_2])
table2 = CSV::Table.new([row2_1, row2_2])
table1 == table2 # => true
table2 << CSV::Row.new(["header1", "header2"], ["row3_1", "row3_2"])
table1 == table2 # => false
//}...

CSV#skip_blanks? -> bool (208.0)

真である場合は、空行を読み飛ばします。

...[例][ruby]{
require "csv"

csv
= CSV.new("header1,header2\n\nrow1_1,row1_2")
csv
.skip_blanks? # => false
csv
.read # => [["header1", "header2"], [], ["row1_1", "row1_2"]]
csv
= CSV.new("header1,header2\n\nrow1_1,row1_2", skip_blanks: true)
csv
.skip_blanks? # => true
csv
.read # => [["...
...header1", "header2"], ["row1_1", "row1_2"]]
//}

@see CSV.new...

絞り込み条件を変える

CSV::Table#by_row! -> self (208.0)

自身をロウモードに変更します。

...y]{
require "csv"

row1 = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])
row2 = CSV::Row.new(["header1", "header2"], ["row2_1", "row2_2"])
table = CSV::Table.new([row1, row2])
table # => #<CSV::Table mode:col_or_row row_count:3>
table.by_row!
table # => #<CSV::Table mode:...
...row row_count:3>
table[0] # => #<CSV::Row "header1":"row1_1" "header2":"row1_2">
table[1] # => #<CSV::Row "header1":"row2_1" "header2":"row2_2">
//}...

CSV::Table#<<(row_or_array) -> self (190.0)

自身の最後に新しい行を追加します。

...param row_or_array CSV::Row のインスタンスか配列を指定します。
配列を指定した場合は CSV::Row に変換されます。

@return メソッドチェーンのために自身を返します。

//emlist[例][ruby]{
require "csv"

row1 = CSV::Row.new(["header...
...1", "header2"], ["row1_1", "row1_2"])
row2 = CSV::Row.new(["header1", "header2"], ["row2_1", "row2_2"])
table = CSV::Table.new([row1])
table << row2
table.to_a # => [["header1", "header2"], ["row1_1", "row1_2"], ["row2_1", "row2_2"]]
//}...

CSV#convert {|field, field_info| ... } (172.0)

引数 name で指定した変換器かブロックに各フィールドを渡して文字列から別 のオブジェクトへと変換します。

...フィールドを渡して文字列から別
のオブジェクトへと変換します。

引数 name を指定した場合は、組み込みの CSV::Converters を変換器
として利用するために使います。また、独自の変換器を追加することもできま
す。

ブロッ...
... CSV::FieldInfo のインス
タンスを受け取ります。ブロックは変換後の値かフィールドそのものを返さな
ければなりません。

@param name 変換器の名前を指定します。

//emlist[例 name で Converter を指定][ruby]{
require "csv"

csv
= CSV.new("...
...07-09,2018-07-10")
csv
.convert(:date)
csv
.read # => 2018-07-09 ((2458309j,0s,0n),+0s,2299161j)>, #<Date: 2018-07-10 ((2458310j,0s,0n),+0s,2299161j)>
//}

//emlist[例 ブロックを指定][ruby]{
require "csv"

csv
= CSV.new("date1,date2\n2018-07-09,2018-07-10", headers: true)
csv
.convert do |fiel...

CSV#convert {|field| ... } (172.0)

引数 name で指定した変換器かブロックに各フィールドを渡して文字列から別 のオブジェクトへと変換します。

...フィールドを渡して文字列から別
のオブジェクトへと変換します。

引数 name を指定した場合は、組み込みの CSV::Converters を変換器
として利用するために使います。また、独自の変換器を追加することもできま
す。

ブロッ...
... CSV::FieldInfo のインス
タンスを受け取ります。ブロックは変換後の値かフィールドそのものを返さな
ければなりません。

@param name 変換器の名前を指定します。

//emlist[例 name で Converter を指定][ruby]{
require "csv"

csv
= CSV.new("...
...07-09,2018-07-10")
csv
.convert(:date)
csv
.read # => 2018-07-09 ((2458309j,0s,0n),+0s,2299161j)>, #<Date: 2018-07-10 ((2458310j,0s,0n),+0s,2299161j)>
//}

//emlist[例 ブロックを指定][ruby]{
require "csv"

csv
= CSV.new("date1,date2\n2018-07-09,2018-07-10", headers: true)
csv
.convert do |fiel...

CSV#convert(name) (172.0)

引数 name で指定した変換器かブロックに各フィールドを渡して文字列から別 のオブジェクトへと変換します。

...フィールドを渡して文字列から別
のオブジェクトへと変換します。

引数 name を指定した場合は、組み込みの CSV::Converters を変換器
として利用するために使います。また、独自の変換器を追加することもできま
す。

ブロッ...
... CSV::FieldInfo のインス
タンスを受け取ります。ブロックは変換後の値かフィールドそのものを返さな
ければなりません。

@param name 変換器の名前を指定します。

//emlist[例 name で Converter を指定][ruby]{
require "csv"

csv
= CSV.new("...
...07-09,2018-07-10")
csv
.convert(:date)
csv
.read # => 2018-07-09 ((2458309j,0s,0n),+0s,2299161j)>, #<Date: 2018-07-10 ((2458310j,0s,0n),+0s,2299161j)>
//}

//emlist[例 ブロックを指定][ruby]{
require "csv"

csv
= CSV.new("date1,date2\n2018-07-09,2018-07-10", headers: true)
csv
.convert do |fiel...

絞り込み条件を変える

CSV::Row#==(other) -> bool (154.0)

自身が other と同じヘッダやフィールドを持つ場合に真を返します。 そうでない場合は偽を返します。

...ない場合は偽を返します。

@param other 比較対象の CSV::Row のインスタンスを指定します。

//emlist[例][ruby]{
require "csv"

row1 = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])
row2 = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])

row1 == row...

CSV#gets -> Array | CSV::Row (136.0)

String や IO をラップしたデータソースから一行だけ読み込んで フィールドの配列か CSV::Row のインスタンスを返します。

...ールドの配列か CSV::Row のインスタンスを返します。

データソースは読み込み用にオープンされている必要があります。

@return ヘッダを使用しない場合は配列を返します。
ヘッダを使用する場合は CSV::Row を返します...
...

//emlist[例][ruby]{
require "csv"

csv
= CSV.new(DATA.read)
csv
.readline # => ["header1", "header2"]
csv
.readline # => ["row1_1", "row1_2"]

__END__
header1,header2
row1_1,row1_2
//}...

CSV#readline -> Array | CSV::Row (136.0)

String や IO をラップしたデータソースから一行だけ読み込んで フィールドの配列か CSV::Row のインスタンスを返します。

...ールドの配列か CSV::Row のインスタンスを返します。

データソースは読み込み用にオープンされている必要があります。

@return ヘッダを使用しない場合は配列を返します。
ヘッダを使用する場合は CSV::Row を返します...
...

//emlist[例][ruby]{
require "csv"

csv
= CSV.new(DATA.read)
csv
.readline # => ["header1", "header2"]
csv
.readline # => ["row1_1", "row1_2"]

__END__
header1,header2
row1_1,row1_2
//}...

CSV#row_sep -> String (136.0)

行区切り文字列として使用する文字列を返します。

...行区切り文字列として使用する文字列を返します。

//emlist[例][ruby]{
require "csv"

csv
= CSV.new("header1,header2|row1_1,row1_2", row_sep: "|")
csv
.row_sep # => "|"
csv
.read # => [["header1", "header2"], ["row1_1", "row1_2"]]
//}

@see CSV.new...

CSV#shift -> Array | CSV::Row (136.0)

String や IO をラップしたデータソースから一行だけ読み込んで フィールドの配列か CSV::Row のインスタンスを返します。

...ールドの配列か CSV::Row のインスタンスを返します。

データソースは読み込み用にオープンされている必要があります。

@return ヘッダを使用しない場合は配列を返します。
ヘッダを使用する場合は CSV::Row を返します...
...

//emlist[例][ruby]{
require "csv"

csv
= CSV.new(DATA.read)
csv
.readline # => ["header1", "header2"]
csv
.readline # => ["row1_1", "row1_2"]

__END__
header1,header2
row1_1,row1_2
//}...

絞り込み条件を変える

CSV::Row#field?(data) -> bool (136.0)

自身に与えられた値が含まれている場合は真を返します。 そうでない場合は偽を返します。

...ない場合は偽を返します。

@param data この行に含まれているかどうか調べたい値を指定します。

//emlist[例][ruby]{
require "csv"

row = CSV::Row.new(["header1", "header2", "header3", "header4"], [1, 2, 3, 4])
row.field?(1) # => true
row.field?(5) # => false
//}...

CSV::Table#by_col! -> self (136.0)

自身をカラムモードに変更します。

...にメソッドチェーンできます。

//emlist[例][ruby]{
require "csv"

row1 = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])
row2 = CSV::Row.new(["header1", "header2"], ["row2_1", "row2_2"])
table = CSV::Table.new([row1, row2])
table.by_col!
table[0] # => ["row1_1", "row2_1"]
ta...

CSV::Table#by_col_or_row! -> self (136.0)

自身をミックスモードに変更します。

...ire "csv"

row1 = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])
row2 = CSV::Row.new(["header1", "header2"], ["row2_1", "row2_2"])
table = CSV::Table.new([row1, row2]).by_col!
table # => #<CSV::Table mode:col row_count:3>
table.by_col_or_row!
table # => #<CSV::Tab...

CSV::Row#deconstruct -> [object] (118.0)

パターンマッチに使用する行の値の配列を返します。

...パターンマッチに使用する行の値の配列を返します。

//emlist[例][ruby]{
require "csv"
row = CSV::Row.new(["header1", "header2", "header3"], [1, 2, 3])
case row
in [2.., 2.., 2..]
puts "all 2 or more"
in [...2, 2.., 2..]
puts "first column is less than 2, and rest columns...

CSV#converters -> Array (100.0)

現在の変換器のリストを返します。

...在の変換器のリストを返します。

//emlist[例][ruby]{
require "csv"

csv
= CSV.new("header1,header2\nrow1_1,row1_2", converters: CSV::Converters.keys)
csv
.converters # => [:integer, :float, :integer, :float, :date, :date_time, :date_time, :integer, :float]
//}

@see CSV::Converters...

絞り込み条件を変える

CSV#quote_char -> String (100.0)

フィールドをクオートするのに使用する文字列を返します。

...フィールドをクオートするのに使用する文字列を返します。

//emlist[例][ruby]{
require "csv"

csv
= CSV.new("header1,header2\nrow1_1,row1_2", quote_char: "'")
csv
.quote_char # => "'"
//}

@see CSV.new...

CSV#rewind -> 0 (100.0)

IO#rewind に似ています。CSV#lineno を 0 にします。

...IO#rewind に似ています。CSV#lineno を 0 にします。

//emlist[例][ruby]{
require "csv"

csv
= CSV.new("header1,header2\nrow1_1,row1_2")
csv
.lineno # => 0
csv
.readline
csv
.lineno # => 1
csv
.rewind
csv
.lineno # => 0
//}

@see IO#rewind...