ライブラリ
- ビルトイン (5)
-
bigdecimal
/ jacobian (1) -
bigdecimal
/ ludcmp (2) -
cgi
/ html (1) - csv (109)
- matrix (30)
- readline (1)
クラス
- Array (1)
- CSV (47)
-
CSV
:: FieldInfo (3) -
CSV
:: Row (30) -
CSV
:: Table (24) - Matrix (28)
- String (1)
- UncaughtThrowError (3)
- Vector (1)
モジュール
-
CGI
:: HtmlExtension (1) - Jacobian (1)
- Kernel (1)
- LUSolve (2)
- Readline (1)
キーワード
- << (3)
- == (2)
- CSV (1)
-
DEFAULT
_ OPTIONS (1) - Matrix (1)
- Row (1)
- Table (1)
- UncaughtThrowError (1)
- [] (5)
- []= (4)
-
add
_ row (1) -
bigdecimal
/ jacobian (1) - build (2)
-
by
_ col (1) -
by
_ col! (1) -
by
_ col _ or _ row (1) -
by
_ col _ or _ row! (1) -
by
_ row (1) -
by
_ row! (1) - cofactor (1)
-
cofactor
_ expansion (1) - convert (3)
- converters (1)
- covector (1)
- csv (1)
- deconstruct (1)
-
deconstruct
_ keys (1) - delete (2)
-
delete
_ if (3) - each (4)
-
each
_ with _ index (2) - empty (1)
- empty? (1)
- encoding (1)
- field (1)
- field? (1)
-
field
_ row? (1) - fields (1)
- filter (3)
-
find
_ index (3) -
first
_ minor (1) -
force
_ quotes? (1) - foreach (2)
- generate (1)
-
generate
_ line (1) - gets (1)
- header (1)
- header? (1)
-
header
_ convert (3) -
header
_ converters (1) -
header
_ row? (2) - headers (3)
- include? (1)
- index (5)
- inspect (3)
- jacobian (1)
-
laplace
_ expansion (1) - length (1)
- line (1)
- lineno (1)
- ludecomp (1)
- lusolve (1)
- minor (2)
- mode (1)
- new (3)
- open (4)
- parse (2)
-
parse
_ csv (1) - push (2)
- puts (1)
-
quote
_ char (1) -
rb
_ f _ throw (1) -
rb
_ throw (1) - read (2)
- readline (1)
- readlines (2)
-
return
_ headers? (1) - rewind (1)
-
row
_ count (1) -
row
_ sep (1) -
row
_ size (1) -
row
_ vector (1) -
row
_ vectors (1) - rows (1)
-
ruby 1
. 8 . 2 feature (1) -
set
_ screen _ size (1) - shift (1)
- size (1)
-
skip
_ blanks? (1) - tag (1)
- textarea (1)
- throw (1)
-
to
_ a (1) -
to
_ csv (2) -
to
_ hash (1) -
to
_ s (2) -
unconverted
_ fields? (1) - value (1)
-
values
_ at (2) -
write
_ headers? (1) - zero (2)
検索結果
先頭5件
-
CSV
. new(data , options = Hash . new) -> CSV (163.0) -
このメソッドは CSV ファイルを読み込んだり、書き出したりするために String か IO のインスタンスをラップします。
このメソッドは CSV ファイルを読み込んだり、書き出したりするために
String か IO のインスタンスをラップします。
ラップされた文字列の先頭から読み込むことになります。
文字列に追記したい場合は CSV.generate を使用してください。
他の位置から処理したい場合はあらかじめそのように設定した StringIO を渡してください。
@param data String か IO のインスタンスを指定します。
String のインスタンスを指定した場合、CSV#string を使用して
後からデータを取り出すことが出来ます。... -
CSV
# write _ headers? -> bool (145.0) -
ヘッダを出力先に書き込む場合は真を返します。 そうでない場合は偽を返します。
ヘッダを出力先に書き込む場合は真を返します。
そうでない場合は偽を返します。
//emlist[例][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_hea... -
CSV
. parse(str , options = Hash . new) -> Array (112.0) -
このメソッドは文字列を簡単にパースすることができます。 ブロックを与えた場合は、ブロックにそれぞれの行を渡します。 ブロックを省略した場合は、配列の配列を返します。
このメソッドは文字列を簡単にパースすることができます。
ブロックを与えた場合は、ブロックにそれぞれの行を渡します。
ブロックを省略した場合は、配列の配列を返します。
@param str 文字列を指定します。
@param options CSV.new のオプションと同じオプションを指定できます。
//emlist[例][ruby]{
require 'csv'
require 'pp'
s = <<EOS
id,first name,last name,age
1,taro,tanaka,20
2,jiro,suzuki,18
EOS
pp CSV.parse(s)
# => ... -
CSV
# return _ headers? -> bool (109.0) -
ヘッダを返す場合は、真を返します。 そうでない場合は、偽を返します。
ヘッダを返す場合は、真を返します。
そうでない場合は、偽を返します。
//emlist[例][ruby]{
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"... -
CSV
# skip _ blanks? -> bool (109.0) -
真である場合は、空行を読み飛ばします。
真である場合は、空行を読み飛ばします。
//emlist[例][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? # => tr... -
CSV
:: Table # mode -> Symbol (109.0) -
現在のアクセスモードを返します。
現在のアクセスモードを返します。
//emlist[例][ruby]{
require "csv"
row = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])
table = CSV::Table.new([row])
table.mode # => :col_or_row
table.by_col!
table.mode # => :col
//} -
CSV
:: Table # headers -> Array (91.0) -
自身のヘッダ行を返します。
自身のヘッダ行を返します。
テーブルが空である場合は空の配列を返します。
//emlist[例][ruby]{
require "csv"
row = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])
table = CSV::Table.new([row])
table.headers # => ["header1", "header2"]
//} -
CSV
. foreach(path , options = Hash . new) -> Enumerator (58.0) -
このメソッドは CSV ファイルを読むための主要なインターフェイスです。 各行が与えられたブロックに渡されます。 ブロックが与えられていない場合、Enumeratorを返します。
このメソッドは CSV ファイルを読むための主要なインターフェイスです。
各行が与えられたブロックに渡されます。
ブロックが与えられていない場合、Enumeratorを返します。
//emlist[例][ruby]{
require 'csv'
# UTF-32BE な CSV ファイルを読み込んで UTF-8 な row をブロックに渡します
CSV.foreach("a.csv", encoding: "UTF-32BE:UTF-8"){|row| p row }
//}
@param path CSV ファイルのパスを指定します。
@param options CSV.new ... -
CSV
# header _ converters -> Array (55.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",... -
CSV
# unconverted _ fields? -> bool (55.0) -
パースした結果が unconverted_fields というメソッドを持つ場合に真を返します。 そうでない場合は、偽を返します。
パースした結果が unconverted_fields というメソッドを持つ場合に真を返します。
そうでない場合は、偽を返します。
//emlist[例][ruby]{
require "csv"
csv = CSV.new("date1,date2\n2018-07-09,2018-07-10")
csv.unconverted_fields? # => nil
csv = CSV.new("date1,date2\n2018-07-09,2018-07-10", unconverted_fields: false)
csv.unconverted_fields? # => fals... -
csv (55.0)
-
CSV (Comma Separated Values) を扱うライブラリです。
CSV (Comma Separated Values) を扱うライブラリです。
このバージョンの CSV ライブラリは FasterCSV から始まりました。
FasterCSV は Ruby1.8 に標準添付されている CSV ライブラリの置き換えとして開発されました。
このライブラリはユーザの関心事を解決するためにデザインされています。
主なゴールが三つあります。
(1) ピュア Ruby のままで元の CSV ライブラリよりもかなり速くすること
(2) 小さくメンテナンスしやすいコードベースであること (FasterCSV はかなり大きく
機能豊かになりました。構文... -
Matrix
# find _ index(selector = :all) -> Enumerator (49.0) -
指定した値と一致する要素の位置を [row, column] という配列で返します。 ブロックを与えた場合は各要素を引数としてブロックを呼び出し、 返り値が真であった要素の位置を返します。
指定した値と一致する要素の位置を [row, column] という配列で返します。
ブロックを与えた場合は各要素を引数としてブロックを呼び出し、
返り値が真であった要素の位置を返します。
複数の位置で値が一致する/ブロックが真を返す、場合は最初
に見つかった要素の位置を返します。
selector で行列のどの部分を探すかを指定します。この引数の意味は
Matrix#each を参照してください。
//emlist[例][ruby]{
require 'matrix'
Matrix[ [1,2], [3,4] ].index(&:even?) # => [0, 1]
Matrix[ ... -
Matrix
# find _ index(selector = :all) {|e| . . . } -> [Integer , Integer] | nil (49.0) -
指定した値と一致する要素の位置を [row, column] という配列で返します。 ブロックを与えた場合は各要素を引数としてブロックを呼び出し、 返り値が真であった要素の位置を返します。
指定した値と一致する要素の位置を [row, column] という配列で返します。
ブロックを与えた場合は各要素を引数としてブロックを呼び出し、
返り値が真であった要素の位置を返します。
複数の位置で値が一致する/ブロックが真を返す、場合は最初
に見つかった要素の位置を返します。
selector で行列のどの部分を探すかを指定します。この引数の意味は
Matrix#each を参照してください。
//emlist[例][ruby]{
require 'matrix'
Matrix[ [1,2], [3,4] ].index(&:even?) # => [0, 1]
Matrix[ ... -
Matrix
# find _ index(value , selector = :all) -> [Integer , Integer] | nil (49.0) -
指定した値と一致する要素の位置を [row, column] という配列で返します。 ブロックを与えた場合は各要素を引数としてブロックを呼び出し、 返り値が真であった要素の位置を返します。
指定した値と一致する要素の位置を [row, column] という配列で返します。
ブロックを与えた場合は各要素を引数としてブロックを呼び出し、
返り値が真であった要素の位置を返します。
複数の位置で値が一致する/ブロックが真を返す、場合は最初
に見つかった要素の位置を返します。
selector で行列のどの部分を探すかを指定します。この引数の意味は
Matrix#each を参照してください。
//emlist[例][ruby]{
require 'matrix'
Matrix[ [1,2], [3,4] ].index(&:even?) # => [0, 1]
Matrix[ ... -
Matrix
# index(selector = :all) -> Enumerator (49.0) -
指定した値と一致する要素の位置を [row, column] という配列で返します。 ブロックを与えた場合は各要素を引数としてブロックを呼び出し、 返り値が真であった要素の位置を返します。
指定した値と一致する要素の位置を [row, column] という配列で返します。
ブロックを与えた場合は各要素を引数としてブロックを呼び出し、
返り値が真であった要素の位置を返します。
複数の位置で値が一致する/ブロックが真を返す、場合は最初
に見つかった要素の位置を返します。
selector で行列のどの部分を探すかを指定します。この引数の意味は
Matrix#each を参照してください。
//emlist[例][ruby]{
require 'matrix'
Matrix[ [1,2], [3,4] ].index(&:even?) # => [0, 1]
Matrix[ ... -
Matrix
# index(selector = :all) {|e| . . . } -> [Integer , Integer] | nil (49.0) -
指定した値と一致する要素の位置を [row, column] という配列で返します。 ブロックを与えた場合は各要素を引数としてブロックを呼び出し、 返り値が真であった要素の位置を返します。
指定した値と一致する要素の位置を [row, column] という配列で返します。
ブロックを与えた場合は各要素を引数としてブロックを呼び出し、
返り値が真であった要素の位置を返します。
複数の位置で値が一致する/ブロックが真を返す、場合は最初
に見つかった要素の位置を返します。
selector で行列のどの部分を探すかを指定します。この引数の意味は
Matrix#each を参照してください。
//emlist[例][ruby]{
require 'matrix'
Matrix[ [1,2], [3,4] ].index(&:even?) # => [0, 1]
Matrix[ ... -
Matrix
# index(value , selector = :all) -> [Integer , Integer] | nil (49.0) -
指定した値と一致する要素の位置を [row, column] という配列で返します。 ブロックを与えた場合は各要素を引数としてブロックを呼び出し、 返り値が真であった要素の位置を返します。
指定した値と一致する要素の位置を [row, column] という配列で返します。
ブロックを与えた場合は各要素を引数としてブロックを呼び出し、
返り値が真であった要素の位置を返します。
複数の位置で値が一致する/ブロックが真を返す、場合は最初
に見つかった要素の位置を返します。
selector で行列のどの部分を探すかを指定します。この引数の意味は
Matrix#each を参照してください。
//emlist[例][ruby]{
require 'matrix'
Matrix[ [1,2], [3,4] ].index(&:even?) # => [0, 1]
Matrix[ ... -
Matrix
# each _ with _ index(which = :all) -> Enumerator (40.0) -
行列の各要素をその位置とともに引数としてブロックを呼び出します。
行列の各要素をその位置とともに引数としてブロックを呼び出します。
which で処理する要素の範囲を指定することができます。
Matrix#each と同じなのでそちらを参照してください。
ブロックを省略した場合、 Enumerator を返します。
//emlist[例][ruby]{
require 'matrix'
Matrix[ [1,2], [3,4] ].each_with_index do |e, row, col|
puts "#{e} at #{row}, #{col}"
end
# => 1 at 0, 0
# => 2 at 0, 1
# => 3... -
CSV
# header _ convert {|field , field _ info| . . . } (37.0) -
CSV#convert に似ていますが、ヘッダ行用のメソッドです。
CSV#convert に似ていますが、ヘッダ行用のメソッドです。
このメソッドはヘッダ行を読み込む前に呼び出さなければなりません。
@param name 変換器の名前を指定します。
//emlist[例 name を指定][ruby]{
require "csv"
csv = CSV.new("header1,header2\nrow1_1,row1_2", headers: true)
csv.header_convert(:symbol)
csv.first.headers # => [:header1, :header2]
//}
//emlist[例 ブロックを指定][... -
CSV
# header _ convert {|field| . . . } (37.0) -
CSV#convert に似ていますが、ヘッダ行用のメソッドです。
CSV#convert に似ていますが、ヘッダ行用のメソッドです。
このメソッドはヘッダ行を読み込む前に呼び出さなければなりません。
@param name 変換器の名前を指定します。
//emlist[例 name を指定][ruby]{
require "csv"
csv = CSV.new("header1,header2\nrow1_1,row1_2", headers: true)
csv.header_convert(:symbol)
csv.first.headers # => [:header1, :header2]
//}
//emlist[例 ブロックを指定][... -
CSV
# header _ convert(name) (37.0) -
CSV#convert に似ていますが、ヘッダ行用のメソッドです。
CSV#convert に似ていますが、ヘッダ行用のメソッドです。
このメソッドはヘッダ行を読み込む前に呼び出さなければなりません。
@param name 変換器の名前を指定します。
//emlist[例 name を指定][ruby]{
require "csv"
csv = CSV.new("header1,header2\nrow1_1,row1_2", headers: true)
csv.header_convert(:symbol)
csv.first.headers # => [:header1, :header2]
//}
//emlist[例 ブロックを指定][... -
CSV
# headers -> Array | true | nil (37.0) -
nil を返した場合は、ヘッダは使用されません。 真を返した場合は、ヘッダを使用するが、まだ読み込まれていません。 配列を返した場合は、ヘッダは既に読み込まれています。
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 # =>... -
CSV
# inspect -> String (37.0) -
ASCII 互換文字列で自身の情報を表したものを返します。
ASCII 互換文字列で自身の情報を表したものを返します。
//emlist[例][ruby]{
require "csv"
csv = CSV.new("header1,header2\nrow1_1,row1_2")
csv.inspect # => "<#CSV io_type:StringIO encoding:UTF-8 lineno:0 col_sep:\",\" row_sep:\"\\n\" quote_char:\"\\\"\">"
//} -
CSV
. open(filename , mode = "rb" , options = Hash . new) -> CSV (37.0) -
このメソッドは IO オブジェクトをオープンして CSV でラップします。 これは CSV ファイルを書くための主要なインターフェイスとして使うことを意図しています。
このメソッドは IO オブジェクトをオープンして CSV でラップします。
これは CSV ファイルを書くための主要なインターフェイスとして使うことを意図しています。
このメソッドは IO.open と同じように動きます。ブロックが与えられた場合は
ブロックに CSV オブジェクトを渡し、ブロック終了時にそれをクローズします。
ブロックが与えられなかった場合は CSV オブジェクトを返します。
データが Encoding.default_external と異なる場合は、mode にエンコー
ディングを指定する文字列を埋め込まなければなりません。データをどのよう
に解析するか決定するため... -
CSV
. open(filename , mode = "rb" , options = Hash . new) {|csv| . . . } -> nil (37.0) -
このメソッドは IO オブジェクトをオープンして CSV でラップします。 これは CSV ファイルを書くための主要なインターフェイスとして使うことを意図しています。
このメソッドは IO オブジェクトをオープンして CSV でラップします。
これは CSV ファイルを書くための主要なインターフェイスとして使うことを意図しています。
このメソッドは IO.open と同じように動きます。ブロックが与えられた場合は
ブロックに CSV オブジェクトを渡し、ブロック終了時にそれをクローズします。
ブロックが与えられなかった場合は CSV オブジェクトを返します。
データが Encoding.default_external と異なる場合は、mode にエンコー
ディングを指定する文字列を埋め込まなければなりません。データをどのよう
に解析するか決定するため... -
CSV
. open(filename , options = Hash . new) -> CSV (37.0) -
このメソッドは IO オブジェクトをオープンして CSV でラップします。 これは CSV ファイルを書くための主要なインターフェイスとして使うことを意図しています。
このメソッドは IO オブジェクトをオープンして CSV でラップします。
これは CSV ファイルを書くための主要なインターフェイスとして使うことを意図しています。
このメソッドは IO.open と同じように動きます。ブロックが与えられた場合は
ブロックに CSV オブジェクトを渡し、ブロック終了時にそれをクローズします。
ブロックが与えられなかった場合は CSV オブジェクトを返します。
データが Encoding.default_external と異なる場合は、mode にエンコー
ディングを指定する文字列を埋め込まなければなりません。データをどのよう
に解析するか決定するため... -
CSV
. open(filename , options = Hash . new) {|csv| . . . } -> nil (37.0) -
このメソッドは IO オブジェクトをオープンして CSV でラップします。 これは CSV ファイルを書くための主要なインターフェイスとして使うことを意図しています。
このメソッドは IO オブジェクトをオープンして CSV でラップします。
これは CSV ファイルを書くための主要なインターフェイスとして使うことを意図しています。
このメソッドは IO.open と同じように動きます。ブロックが与えられた場合は
ブロックに CSV オブジェクトを渡し、ブロック終了時にそれをクローズします。
ブロックが与えられなかった場合は CSV オブジェクトを返します。
データが Encoding.default_external と異なる場合は、mode にエンコー
ディングを指定する文字列を埋め込まなければなりません。データをどのよう
に解析するか決定するため... -
CSV
:: Table (37.0) -
CSV::Table は CSV ドキュメントを表す二次元のデータ構造です。 行単位や列単位の操作を行うことが出来ます。また必要であれば CSV に 戻すこともできます。
CSV::Table は CSV ドキュメントを表す二次元のデータ構造です。
行単位や列単位の操作を行うことが出来ます。また必要であれば CSV に
戻すこともできます。
ヘッダ行の処理が有効である場合、CSV から返されるテーブルは全てこのクラスから
構築されます。
以下のメソッドを Array に委譲します。
* Array#empty?
* Array#length
* Array#size
=== アクセスモード
以下の三種類のモードがあります。
: :col_or_row
デフォルトはこのモードです。このマニュアル内ではミックスモードと呼んでいます。
... -
CSV
:: Table # inspect -> String (37.0) -
モードとサイズを US-ASCII な文字列で返します。
モードとサイズを US-ASCII な文字列で返します。
//emlist[][ruby]{
require 'csv'
csv = CSV.new("a,b,c\n1,2,3", headers: true)
table = csv.read
p table.inspect # => "#<CSV::Table mode:col_or_row row_count:2>"
//} -
ruby 1
. 8 . 2 feature (37.0) -
ruby 1.8.2 feature ruby 1.8.2 での ruby 1.8.1 からの変更点です。
ruby 1.8.2 feature
ruby 1.8.2 での ruby 1.8.1 からの変更点です。
掲載方針
*バグ修正の影響も含めて動作が変わるものを収録する。
*単にバグを直しただけのものは収録しない。
*ライブラリへの単なる定数の追加は収録しない。
以下は各変更点に付けるべきタグです。
*カテゴリ
* [ruby]: ruby インタプリタの変更
* [api]: 拡張ライブラリ API
* [lib]: ライブラリ
*レベル
* [bug]: バグ修正
* [new]: 追加されたクラス/メソッドなど
* [compat]: 変更されたクラス/... -
Array
# to _ csv(**options) -> String (19.0) -
CSV.generate_line(self, options) と同様です。
CSV.generate_line(self, options) と同様です。
Array オブジェクトを 1 行の CSV 文字列に変換するためのショートカットです。
@param options CSV.generate_line と同様のオプションを指定します。
//emlist[][ruby]{
require 'csv'
p [1, 'Matz', :Ruby, Date.new(1965, 4, 14)].to_csv # => "1,Matz,Ruby,1965-04-14\n"
p [1, 'Matz',... -
CSV
# convert {|field , field _ info| . . . } (19.0) -
引数 name で指定した変換器かブロックに各フィールドを渡して文字列から別 のオブジェクトへと変換します。
引数 name で指定した変換器かブロックに各フィールドを渡して文字列から別
のオブジェクトへと変換します。
引数 name を指定した場合は、組み込みの CSV::Converters を変換器
として利用するために使います。また、独自の変換器を追加することもできま
す。
ブロックパラメータを一つ受け取るブロックを与えた場合は、そのブロックは
フィールドを受け取ります。ブロックパラメータを二つ受け取るブロックを与
えた場合は、そのブロックは、フィールドと CSV::FieldInfo のインス
タンスを受け取ります。ブロックは変換後の値かフィールドそのものを返さな
ければなりません。
... -
CSV
# convert {|field| . . . } (19.0) -
引数 name で指定した変換器かブロックに各フィールドを渡して文字列から別 のオブジェクトへと変換します。
引数 name で指定した変換器かブロックに各フィールドを渡して文字列から別
のオブジェクトへと変換します。
引数 name を指定した場合は、組み込みの CSV::Converters を変換器
として利用するために使います。また、独自の変換器を追加することもできま
す。
ブロックパラメータを一つ受け取るブロックを与えた場合は、そのブロックは
フィールドを受け取ります。ブロックパラメータを二つ受け取るブロックを与
えた場合は、そのブロックは、フィールドと CSV::FieldInfo のインス
タンスを受け取ります。ブロックは変換後の値かフィールドそのものを返さな
ければなりません。
... -
CSV
# convert(name) (19.0) -
引数 name で指定した変換器かブロックに各フィールドを渡して文字列から別 のオブジェクトへと変換します。
引数 name で指定した変換器かブロックに各フィールドを渡して文字列から別
のオブジェクトへと変換します。
引数 name を指定した場合は、組み込みの CSV::Converters を変換器
として利用するために使います。また、独自の変換器を追加することもできま
す。
ブロックパラメータを一つ受け取るブロックを与えた場合は、そのブロックは
フィールドを受け取ります。ブロックパラメータを二つ受け取るブロックを与
えた場合は、そのブロックは、フィールドと CSV::FieldInfo のインス
タンスを受け取ります。ブロックは変換後の値かフィールドそのものを返さな
ければなりません。
... -
CSV
# converters -> Array (19.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
# encoding -> Encoding (19.0) -
読み書きするときに使用するエンコーディングを返します。
読み書きするときに使用するエンコーディングを返します。
//emlist[例][ruby]{
require "csv"
csv = CSV.new("header1,header2\nrow1_1,row1_2", headers: true)
csv.encoding # => #<Encoding:UTF-8>
//} -
CSV
# lineno -> Integer (19.0) -
このファイルから読み込んだ最終行の行番号を返します。 フィールドに含まれる改行はこの値には影響しません。
このファイルから読み込んだ最終行の行番号を返します。
フィールドに含まれる改行はこの値には影響しません。
//emlist[例][ruby]{
require "csv"
csv = CSV.new("header1,header2\nrow1_1,row1_2")
csv.lineno # => 0
csv.readline
csv.lineno # => 1
//} -
CSV
# quote _ char -> String (19.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 (19.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 -
CSV
. generate(str = "" , options = Hash . new) {|csv| . . . } -> String (19.0) -
このメソッドは与えられた文字列をラップして CSV のオブジェクトとしてブロックに渡します。 ブロック内で CSV オブジェクトに行を追加することができます。 ブロックを評価した結果は文字列を返します。
このメソッドは与えられた文字列をラップして CSV のオブジェクトとしてブロックに渡します。
ブロック内で CSV オブジェクトに行を追加することができます。
ブロックを評価した結果は文字列を返します。
このメソッドに与えられた文字列は変更されるので、新しい文字列オブジェクトが必要な
場合は Object#dup で複製してください。
@param str 文字列を指定します。デフォルトは空文字列です。
@param options CSV.new のオプションと同じオプションを指定できます。
:encoding というキーを使用すると出力のエンコーディン... -
CSV
. read(path , options = Hash . new) -> [Array] | CSV :: Table (19.0) -
CSV ファイルを配列の配列にするために使います。 headers オプションに偽でない値を指定した場合は CSV::Table オブジェクトを返します。
CSV ファイルを配列の配列にするために使います。
headers オプションに偽でない値を指定した場合は CSV::Table オブジェクトを返します。
@param path CSV ファイルのパスを指定します。
@param options CSV.new のオプションと同じオプションを指定できます。
:encoding というキーを使用すると入力のエンコーディングを指定することができます。
入力のエンコーディングか Encoding.default_external と異なる場合は
必ず指定... -
CSV
. readlines(path , options = Hash . new) -> [Array] | CSV :: Table (19.0) -
CSV ファイルを配列の配列にするために使います。 headers オプションに偽でない値を指定した場合は CSV::Table オブジェクトを返します。
CSV ファイルを配列の配列にするために使います。
headers オプションに偽でない値を指定した場合は CSV::Table オブジェクトを返します。
@param path CSV ファイルのパスを指定します。
@param options CSV.new のオプションと同じオプションを指定できます。
:encoding というキーを使用すると入力のエンコーディングを指定することができます。
入力のエンコーディングか Encoding.default_external と異なる場合は
必ず指定... -
CSV
:: DEFAULT _ OPTIONS -> Hash (19.0) -
このオプションは呼び出し側で上書きしなかったときに使用するオプションです。
このオプションは呼び出し側で上書きしなかったときに使用するオプションです。
: :col_sep
","
: :row_sep
:auto
: :quote_char
'"'
: :field_size_limit
nil
: :converters
nil
: :unconverted_fields
nil
: :headers
false
: :return_headers
false
: :header_converters
nil
: :skip_blanks
false
: :force_quotes
false
: :skip_lin... -
CSV
:: FieldInfo # header -> String | nil (19.0) -
利用可能な場合はヘッダを表す文字列を返します。
利用可能な場合はヘッダを表す文字列を返します。
//emlist[例][ruby]{
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,... -
CSV
:: FieldInfo # index -> Integer (19.0) -
行内で何番目のフィールドかわかるゼロベースのインデックスを返します。
行内で何番目のフィールドかわかるゼロベースのインデックスを返します。
//emlist[例][ruby]{
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... -
CSV
:: FieldInfo # line -> Integer (19.0) -
行番号を返します。
行番号を返します。
//emlist[例][ruby]{
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... -
Jacobian
. # jacobian(f , fx , x) -> [Numeric] (19.0) -
ヤコビ行列を計算します。
ヤコビ行列を計算します。
@param f ヤコビ行列を求めたい関数を表すオブジェクトを指定します。詳細は
bigdecimal/jacobian をご覧ください。
@param fx f.values(x) の結果を表すベクトルを数値の配列で指定します。
@param x ヤコビ行列を求める点 x にあたるベクトルを数値の配列で指定します。
@return ヤコビ行列を返します。(各要素を Row-major order で 1 次元の配列
にしたオブジェクトを指定します)
@raise RuntimeError 計算結果が特異ヤコビ行列になった... -
LUSolve
. # ludecomp(a , n , zero = 0 , one = 1) -> [Integer] (19.0) -
n 次正方行列を表す配列 a を破壊的に変更し、返り値と併せて元の行列の LU 分解を提供します。
n 次正方行列を表す配列 a を破壊的に変更し、返り値と併せて元の行列の LU 分解を提供します。
LUSolve.#lusolve の引数を構築するために使います。
@param a 行列を BigDecimal の配列で指定します。(各要素を
Row-major order で 1 次元の配列にしたオブジェクトを指定し
ます)
@param n 引数 a の次元を整数で指定します。
@param zero 0 を表す値を指定します。
@param one 1 を表す値を指定します。
@return ピボットの位置を表す Integer の配... -
LUSolve
. # lusolve(a , b , ps , zero = 0 . 0) -> [BigDecimal] (19.0) -
LU 分解を用いて、連立1次方程式 Ax = b の解 x を求めて返します。
LU 分解を用いて、連立1次方程式 Ax = b の解 x を求めて返します。
@param a 行列を BigDecimal の配列で指定します。
各要素を Row-major order で並べて 1 次元の配列にし、
LUSolve.#ludecomp で変換したものを指定します。
@param b ベクトルを BigDecimal の配列で指定します。
@param ps LUSolve.#ludecomp の返り値を指定します。
@param zero 0.0 を表す値を指定します。
//emlist[][ruby]{
require ... -
Matrix (19.0)
-
数Numericを要素とする行列を扱うクラスです。
数Numericを要素とする行列を扱うクラスです。
行列
m * n 個の数a(i,j)を
[ a(0,0) a(0,1) a(0,2) a(0,3) ... a(0,n-1) ]
[ a(1,0) a(1,1) a(1,2) a(1,3) ... a(1,n-1) ]
[ a(2,0) a(2,1) a(2,2) a(2,3) ... a(2,n-1) ]
[ ]
[ a(m-1,0) a(m-1,n-1) ]
... -
String
# parse _ csv(**options) -> [String] (19.0) -
CSV.parse_line(self, options) と同様です。
CSV.parse_line(self, options) と同様です。
1 行の CSV 文字列を、文字列の配列に変換するためのショートカットです。
@param options CSV.new と同様のオプションを指定します。
//emlist[][ruby]{
require "csv"
p "Matz,Ruby\n".parse_csv # => ["Matz", "Ruby"]
p "Matz|Ruby\r\n".parse_csv(col_sep: '|', row_sep: "\r\n") # => ... -
Vector
# covector -> Matrix (19.0) -
Matrix オブジェクトへ変換します。
Matrix オブジェクトへ変換します。
列ベクトル (行列)、すなわち、(n, 1) 型の行列に変換します。
実際には Matrix.row_vector(self) を適用します。
//emlist[例][ruby]{
require 'matrix'
v = Vector[2, 3, 5]
p v # => Vector[2, 3, 5]
m = v.covector
p m # => Matrix[[2, 3, 5]]
//} -
bigdecimal
/ jacobian (19.0) -
ヤコビ行列を計算する機能を提供します。
ヤコビ行列を計算する機能を提供します。
実行例:
require "bigdecimal"
require "bigdecimal/jacobian"
...
dfdx = Jacobian.jacobian(f,fx,x)
引数 f には関数を表すオブジェクトを指定します。以下のメソッドに応答でき
る必要があります。
: f.values(x)
点 x における関数の値を数値の配列で返します。
: f.zero
0.0 を示す値を返します。
: f.one
1.0 を示す値を返します。
: f.two
2.0 を示す値を返します。
... -
Matrix
. zero(n) -> Matrix (10.0) -
n × n の零行列(要素が全て 0 の行列)を生成して返します。
n × n の零行列(要素が全て 0 の行列)を生成して返します。
//emlist[例][ruby]{
require 'matrix'
p Matrix.zero(2) #=> Matrix[[0, 0], [0, 0]]
//}
@param n 生成する正方零行列の次数