クラス
- Array (1)
- CSV (39)
-
CSV
:: FieldInfo (3) -
CSV
:: Row (16) -
CSV
:: Table (24) - Matrix (27)
- String (1)
- UncaughtThrowError (3)
- Vector (1)
モジュール
-
CGI
:: HtmlExtension (1) - Kernel (1)
- LUSolve (1)
- Readline (1)
キーワード
- << (1)
- == (2)
-
DEFAULT
_ OPTIONS (1) - Matrix (1)
- Table (1)
- UncaughtThrowError (1)
- [] (5)
- []= (2)
- 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)
- delete (2)
-
delete
_ if (3) - each (2)
-
each
_ with _ index (2) - empty (1)
- empty? (1)
- field (1)
- field? (1)
- filter (3)
-
find
_ index (3) -
first
_ minor (1) -
force
_ quotes? (1) - foreach (1)
- generate (1)
-
generate
_ line (1) - gets (1)
- header (1)
-
header
_ convert (3) -
header
_ converters (1) - headers (2)
- index (5)
- inspect (3)
-
laplace
_ expansion (1) - length (1)
- line (1)
- lineno (1)
- ludecomp (1)
- minor (2)
- mode (1)
- new (2)
- open (4)
- parse (2)
-
parse
_ csv (1) - push (1)
- puts (1)
-
quote
_ char (1) -
rb
_ f _ throw (1) -
rb
_ throw (1) - read (2)
- readline (1)
- readlines (2)
-
return
_ headers? (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)
- 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件
-
Matrix
# row(i) -> Vector | nil (63643.0) -
i 番目の行を Vector オブジェクトで返します。 i 番目の行が存在しない場合は nil を返します。 ブロックが与えられた場合はその行の各要素についてブロックを繰り返します。
i 番目の行を Vector オブジェクトで返します。
i 番目の行が存在しない場合は nil を返します。
ブロックが与えられた場合はその行の各要素についてブロックを繰り返します。
Vector オブジェクトは Matrix オブジェクトとの演算の際には列ベクトルとして扱われることに注意してください。
@param i 行の位置を指定します。
先頭の行が 0 番目になります。i の値が負の時には末尾から
のインデックスと見倣します。末尾の行が -1 番目になります。
//emlist[例][ruby]{
require 'matrix'
a1 = ... -
Matrix
# row(i) {|x| . . . } -> self (63343.0) -
i 番目の行を Vector オブジェクトで返します。 i 番目の行が存在しない場合は nil を返します。 ブロックが与えられた場合はその行の各要素についてブロックを繰り返します。
i 番目の行を Vector オブジェクトで返します。
i 番目の行が存在しない場合は nil を返します。
ブロックが与えられた場合はその行の各要素についてブロックを繰り返します。
Vector オブジェクトは Matrix オブジェクトとの演算の際には列ベクトルとして扱われることに注意してください。
@param i 行の位置を指定します。
先頭の行が 0 番目になります。i の値が負の時には末尾から
のインデックスと見倣します。末尾の行が -1 番目になります。
//emlist[例][ruby]{
require 'matrix'
a1 = ... -
Matrix
. row _ vector(row) -> Matrix (36973.0) -
要素がrowの(1,n)型の行列(行ベクトル)を生成します。
要素がrowの(1,n)型の行列(行ベクトル)を生成します。
@param row (1,n)型の行列として生成するVector Array オブジェクト -
Matrix
# row _ vectors -> [Vector] (36922.0) -
自分自身を行ベクトルの配列として返します。
自分自身を行ベクトルの配列として返します。
//emlist[例][ruby]{
require 'matrix'
a1 = [ 1, 2, 3]
a2 = [10, 15, 20]
a3 = [-1, -2, 1.5]
m = Matrix[a1, a2, a3]
p m.row_vectors # => [Vector[1, 2, 3], Vector[10, 15, 20], Vector[-1, -2, 1.5]]
//} -
Matrix
# row _ count -> Integer (36607.0) -
行列の行数を返します。
行列の行数を返します。 -
Kernel
. # throw(tag , value = nil) -> () (36601.0) -
Kernel.#catchとの組み合わせで大域脱出を行います。 throw は同じ tag を指定した catch のブロックの終わりまでジャンプします。
Kernel.#catchとの組み合わせで大域脱出を行います。 throw
は同じ tag を指定した catch のブロックの終わりまでジャンプします。
throw は探索時に呼び出しスタックをさかのぼるので、
ジャンプ先は同じメソッド内にあるとは限りません。
もし ensure節 が存在するならジャンプ前に実行します。
同じ tag で待っている catch が存在しない場合は、例外で
スレッドが終了します。
同じ tag であるとは Object#object_id が同じであるという意味です。
@param tag catch の引数に対応する任意のオブジェクトです。
@pa... -
static VALUE rb
_ f _ throw(int argc , VALUE *argv) (36601.0) -
-
void rb
_ throw(const char *tag , VALUE val) (36601.0) -
throw の実体。返り値を val として、 tag を catch したところまでジャンプします。
throw の実体。返り値を val として、
tag を catch したところまでジャンプします。
rb_catch も参照してください。 -
UncaughtThrowError (36001.0)
-
Kernel.#throw に指定した tag に対して一致する Kernel.#catch が存在しない場合に発生します。
Kernel.#throw に指定した tag に対して一致する
Kernel.#catch が存在しない場合に発生します。
throw "foo", "bar"
# => (例外発生) UncaughtThrowError: uncaught throw "foo" -
Matrix
. rows(rows , copy = true) -> Matrix (28201.0) -
引数 rows を行ベクトルの列とする行列を生成します。
引数 rows を行ベクトルの列とする行列を生成します。
引数 copy が偽(false)ならば、rows の複製を行いません。
//emlist[例][ruby]{
require 'matrix'
a1 = [1, 2, 3]
a2 = [10, 15, 20]
m = Matrix.rows([a1, a2], false) # 配列を複製せずに行列を生成
p m # => Matrix[[1, 2, 3], [10, 15, 20]]
a2[1] = 1000 # 配列のデータを変更
p m # => Matrix[[1, 2, 3], [10, 1000, 20]]
//... -
CSV
:: Table # by _ row -> CSV :: Table (28036.0) -
ロウモードになっている新しい CSV::Table オブジェクトを返します。
ロウモードになっている新しい CSV::Table オブジェクトを返します。
元のテーブルモードを変更せずにメソッドチェーンできるので便利です。しか
し、大きなデータセットに対しても同じだけメモリを消費するので気をつけて
ください。
このメソッドは複製したテーブルを返すので、破壊的なメソッドはメソッド
チェーンに組込まないようにしてください。
//emlist[例][ruby]{
require "csv"
row1 = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])
row2 = CSV::Row.new(["h... -
CSV
:: Row # delete(header _ or _ index , minimum _ index = 0) -> [object , object] | nil (28021.0) -
ヘッダの名前かインデックスで行からフィールドを削除するために使用します。
ヘッダの名前かインデックスで行からフィールドを削除するために使用します。
@param header_or_index ヘッダの名前かインデックスを指定します。
@param minimum_index このインデックスより後で、ヘッダの名前を探します。
重複しているヘッダがある場合に便利です。
@return 削除したヘッダとフィールドの組を返します。削除対象が見つからなかった場合は nil を返します。
//emlist[例 ヘッダの名前で指定][ruby]{
require "csv"
row = CSV::Row.new(["hea... -
CSV
:: Table # by _ col _ or _ row -> CSV :: Table (27910.0) -
ミックスモードになっている新しい CSV::Table オブジェクトを返します。
ミックスモードになっている新しい CSV::Table オブジェクトを返します。
元のテーブルモードを変更せずにメソッドチェーンできるので便利です。しか
し、大きなデータセットに対しても同じだけメモリを消費するので気をつけて
ください。
このメソッドは複製したテーブルを返すので、破壊的なメソッドはメソッド
チェーンに組込まないようにしてください。
//emlist[例][ruby]{
require "csv"
row1 = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])
row2 = CSV::Row.new([... -
CSV
:: Table # by _ row! -> self (27682.0) -
自身をロウモードに変更します。
自身をロウモードに変更します。
再びモードが変更されるまで、いくつかのメソッドは行単位で動きます。
@return 必ず自身を返すので安全にメソッドチェーンできます。
//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 ... -
Matrix
# row _ size -> Integer (27607.0) -
行列の行数を返します。
行列の行数を返します。 -
CSV
:: Table # by _ col _ or _ row! -> self (27556.0) -
自身をミックスモードに変更します。
自身をミックスモードに変更します。
再びモードが変更されるまで、いくつかのメソッドはミックスモードで動きます。
デフォルトのミックスモードではインデックスによるアクセスは行単位での参
照であると見なします。しかし、他の方法ではヘッダによる列単位での参照で
あると見なします。
@return 必ず自身を返すので安全にメソッドチェーンできます。
//emlist[例][ruby]{
require "csv"
row1 = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])
row2 = CSV::Row.new(["h... -
CSV
:: Row # delete _ if {|header , field| . . . } -> self (27427.0) -
与えられたブロックにヘッダとフィールドのペアを渡して評価します。 評価した結果が真である場合に、その組を自身から削除します。
与えられたブロックにヘッダとフィールドのペアを渡して評価します。
評価した結果が真である場合に、その組を自身から削除します。
@return メソッドチェーンのために自身を返します。
//emlist[例][ruby]{
require "csv"
row = CSV::Row.new(["header1", "header2", "header3", "header4"], ["valid1", "valid2", "invalid", "valid4"])
row # => #<CSV::Row "header1":"valid1" "header2":"valid2" "hea... -
CSV
:: Row # to _ csv -> String (27391.0) -
自身を CSV な文字列として返します。ヘッダは使用しません。
自身を CSV な文字列として返します。ヘッダは使用しません。
//emlist[例][ruby]{
require "csv"
row = CSV::Row.new(["header1", "header2"], [1, 2])
row.to_csv # => "1,2\n"
row.to_csv( {col_sep: "|", row_sep: "<br>"} ) # => "1|2<br>"
//} -
CSV
:: Row # to _ s -> String (27391.0) -
自身を CSV な文字列として返します。ヘッダは使用しません。
自身を CSV な文字列として返します。ヘッダは使用しません。
//emlist[例][ruby]{
require "csv"
row = CSV::Row.new(["header1", "header2"], [1, 2])
row.to_csv # => "1,2\n"
row.to_csv( {col_sep: "|", row_sep: "<br>"} ) # => "1|2<br>"
//} -
CSV
:: Row # inspect -> String (27373.0) -
ASCII 互換であるエンコーディングの文字列で自身の情報を返します。
ASCII 互換であるエンコーディングの文字列で自身の情報を返します。
//emlist[例][ruby]{
require "csv"
row = CSV::Row.new(["header1", "header2", "header1"], [1, 2, 3])
row.inspect # => "#<CSV::Row \"header1\":1 \"header2\":2 \"header1\":3>"
//} -
CSV
:: Row # to _ hash -> Hash (27355.0) -
自身をシンプルなハッシュに変換します。
自身をシンプルなハッシュに変換します。
フィールドの順序は無視されます。
重複したフィールドは削除されます。
//emlist[例][ruby]{
require "csv"
row = CSV::Row.new(["header2", "header1", "header2"], [1, 2, 3])
row.to_hash # => {"header2"=>3, "header1"=>2}
//} -
CSV
:: Row # empty? -> bool (27349.0) -
内部で保持している @row へ委譲します。
内部で保持している @row へ委譲します。 -
Vector
# covector -> Matrix (27319.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]]
//} -
CSV
:: Row # length -> Integer (27301.0) -
Array#length, Array#size に委譲します。
Array#length, Array#size に委譲します。
@see Array#size -
UncaughtThrowError
# tag -> object (27301.0) -
Kernel.#throw に指定した tag を返します。
Kernel.#throw に指定した tag を返します。
//emlist[例:][ruby]{
def do_complicated_things
throw :uncaught_label
end
begin
do_complicated_things
rescue UncaughtThrowError => ex
p ex.tag # => ":uncaught_label"
end
//} -
UncaughtThrowError
# to _ s -> String (27301.0) -
self を tag を含む文字列表現にして返します。
self を tag を含む文字列表現にして返します。
//emlist[例][ruby]{
def do_complicated_things
throw :uncaught_label
end
begin
do_complicated_things
rescue UncaughtThrowError => ex
p ex.to_s # => "uncaught throw :uncaught_label"
end
//} -
CSV
:: Table # delete _ if {|row| . . . } -> self (19054.0) -
ブロックを評価した結果が真である行か列を削除します。
ブロックを評価した結果が真である行か列を削除します。
デフォルトのミックスモードかロウモードでは、行単位で繰り返します。カラ
ムモードでは、ブロックに列名と対応する値の配列を与え、列単位で繰り返し
ます。
//emlist[例 ロウモード][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(["... -
CSV
. filter(input , options = Hash . new) {|row| . . . } (18934.0) -
このメソッドは CSV データに対して Unix のツール群のようなフィルタを構築 するのに便利です。
このメソッドは CSV データに対して Unix のツール群のようなフィルタを構築
するのに便利です。
与えられたブロックに一行ずつ渡されます。ブロックに渡された行は必要であ
れば変更することができます。ブロックの評価後に行を全て output に書き込
みます。
@param input String か IO のインスタンスを指定します。
デフォルトは ARGF です。
@param output String か IO のインスタンスを指定します。
デフォルトは $stdout です。
@param options ":in... -
CSV
. filter(input , output , options = Hash . new) {|row| . . . } (18934.0) -
このメソッドは CSV データに対して Unix のツール群のようなフィルタを構築 するのに便利です。
このメソッドは CSV データに対して Unix のツール群のようなフィルタを構築
するのに便利です。
与えられたブロックに一行ずつ渡されます。ブロックに渡された行は必要であ
れば変更することができます。ブロックの評価後に行を全て output に書き込
みます。
@param input String か IO のインスタンスを指定します。
デフォルトは ARGF です。
@param output String か IO のインスタンスを指定します。
デフォルトは $stdout です。
@param options ":in... -
CSV
. filter(options = Hash . new) {|row| . . . } (18934.0) -
このメソッドは CSV データに対して Unix のツール群のようなフィルタを構築 するのに便利です。
このメソッドは CSV データに対して Unix のツール群のようなフィルタを構築
するのに便利です。
与えられたブロックに一行ずつ渡されます。ブロックに渡された行は必要であ
れば変更することができます。ブロックの評価後に行を全て output に書き込
みます。
@param input String か IO のインスタンスを指定します。
デフォルトは ARGF です。
@param output String か IO のインスタンスを指定します。
デフォルトは $stdout です。
@param options ":in... -
CSV
:: Table # values _ at(indices _ or _ headers) -> Array (18787.0) -
デフォルトのミックスモードでは、インデックスのリストを与えると行単位の 参照を行い、行の配列を返します。他の方法は列単位の参照と見なします。行 単位の参照では、返り値は行ごとの配列を要素に持つ配列です。
デフォルトのミックスモードでは、インデックスのリストを与えると行単位の
参照を行い、行の配列を返します。他の方法は列単位の参照と見なします。行
単位の参照では、返り値は行ごとの配列を要素に持つ配列です。
探索方法を変更したい場合は CSV::Table#by_col!,
CSV::Table#by_row! を使用してください。
アクセスモードを混在させることはできません。
//emlist[例 ロウモード][ruby]{
require "csv"
row1 = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])
r... -
CSV
:: Table # delete _ if {|column _ name , values| . . . } -> self (18754.0) -
ブロックを評価した結果が真である行か列を削除します。
ブロックを評価した結果が真である行か列を削除します。
デフォルトのミックスモードかロウモードでは、行単位で繰り返します。カラ
ムモードでは、ブロックに列名と対応する値の配列を与え、列単位で繰り返し
ます。
//emlist[例 ロウモード][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(["... -
CSV
# gets -> Array | CSV :: Row (18748.0) -
String や IO をラップしたデータソースから一行だけ読み込んで フィールドの配列か CSV::Row のインスタンスを返します。
String や IO をラップしたデータソースから一行だけ読み込んで
フィールドの配列か CSV::Row のインスタンスを返します。
データソースは読み込み用にオープンされている必要があります。
@return ヘッダを使用しない場合は配列を返します。
ヘッダを使用する場合は CSV::Row を返します。
//emlist[例][ruby]{
require "csv"
csv = CSV.new(DATA.read)
csv.readline # => ["header1", "header2"]
csv.readline # => ["row1_1", "r... -
CSV
# shift -> Array | CSV :: Row (18748.0) -
String や IO をラップしたデータソースから一行だけ読み込んで フィールドの配列か CSV::Row のインスタンスを返します。
String や IO をラップしたデータソースから一行だけ読み込んで
フィールドの配列か CSV::Row のインスタンスを返します。
データソースは読み込み用にオープンされている必要があります。
@return ヘッダを使用しない場合は配列を返します。
ヘッダを使用する場合は CSV::Row を返します。
//emlist[例][ruby]{
require "csv"
csv = CSV.new(DATA.read)
csv.readline # => ["header1", "header2"]
csv.readline # => ["row1_1", "r... -
Matrix
# cofactor _ expansion(row: nil , column: nil) -> object | Integer | Rational | Float (18727.0) -
row 行、もしくは column 列に関するラプラス展開をする。
row 行、もしくは column 列に関するラプラス展開をする。
通常の行列に対してはこれは単に固有値を計算するだけです。かわりにMatrix#determinant を
利用すべきです。
変則的な形状の行列に対してはそれ以上の意味を持ちます。例えば
row行/column列が行列やベクトルである場合には
//emlist[例][ruby]{
require 'matrix'
# Matrix[[7,6], [3,9]].laplace_expansion(column: 1) # => 45
Matrix[[Vector[1, 0], Vector[0, 1]], [2, 3]].... -
CSV
# row _ sep -> String (18712.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 -
Matrix
# first _ minor(row , column) -> Matrix (18688.0) -
self から第 row 行と第 column 列を取り除いた行列を返します。
self から第 row 行と第 column 列を取り除いた行列を返します。
@param row 行
@param column 列
@raise ArgumentError row, column が行列の行数/列数を越えている場合に発生します。 -
Matrix
# cofactor(row , column) -> Integer | Rational | Float (18670.0) -
(row, column)-余因子を返します。
(row, column)-余因子を返します。
各要素の型によって返り値が変わります。
@param row 行
@param column 列
@raise ExceptionForMatrix::ErrDimensionMismatch 行列が正方でない場合に発生します。
@see Matrix#adjugate -
CSV
. generate _ line(row , options = Hash . new) -> String (18658.0) -
このメソッドは一つの Array オブジェクトを CSV 文字列に変換するためのショートカットです。 複数行のCSVを扱う際はCSV#<<を使うとより高速です。
このメソッドは一つの Array オブジェクトを CSV 文字列に変換するためのショートカットです。
複数行のCSVを扱う際はCSV#<<を使うとより高速です。
このメソッドは可能であれば row に含まれる最初の nil でない値を用いて出力の
エンコーディングを推測します。
@param row 文字列の配列を指定します。
@param options CSV.new のオプションと同じオプションを指定できます。
:encoding というキーを使用すると出力のエンコーディングを指定することができます。
:row_sep ... -
Matrix
. empty(row _ size=0 , column _ size=0) -> Matrix (18658.0) -
要素を持たない行列を返します。
要素を持たない行列を返します。
「要素を持たない」とは、行数もしくは列数が0の行列のことです。
row_size 、 column_size のいずれか一方は0である必要があります。
//emlist[例][ruby]{
require 'matrix'
m = Matrix.empty(2, 0)
m == Matrix[ [], [] ]
# => true
n = Matrix.empty(0, 3)
n == Matrix.columns([ [], [], [] ])
# => true
m * n
# => Matrix[[0, 0, 0], [0, 0, 0]]
//}
... -
Readline
. set _ screen _ size(rows , columns) -> Readline (18649.0) -
端末のサイズを引数 row、columns に設定します。
端末のサイズを引数 row、columns に設定します。
@param rows 行数を整数で指定します。
@param columns 列数を整数で指定します。
@raise NotImplementedError サポートしていない環境で発生します。
@see GNU Readline ライブラリの rl_set_screen_size 関数 -
Matrix
# each _ with _ index(which = :all) {|e , row , col| . . . } -> self (18640.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... -
CGI
:: HtmlExtension # textarea(name = "" , cols = 70 , rows = 10) -> String (18601.0) -
textarea 要素を生成します。
textarea 要素を生成します。
@param name name 属性の値を指定します。
@param cols cols 属性の値を指定します。
@param rows rows 属性の値を指定します。
例:
textarea("name")
# = textarea({ "NAME" => "name", "COLS" => 70, "ROWS" => 10 }) -
CSV
:: Table # delete(index _ or _ header) -> object (18553.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",... -
CSV
:: Table # to _ a -> [Array] (18553.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.to_a # => [["header1", "header2"], ["row1_1", "... -
CSV
# force _ quotes? -> bool (18517.0) -
出力される全てのフィールドがクオートされる場合は、真を返します。
出力される全てのフィールドがクオートされる場合は、真を返します。
//emlist[例][ruby]{
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... -
CSV
# write _ headers? -> bool (18445.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
# return _ headers? -> bool (18409.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
# header _ converters -> Array (18355.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 (18355.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
:: Row # values _ at(*headers _ and _ or _ indices) -> Array (18355.0) -
与えられた引数に対応する値の配列を返します。
与えられた引数に対応する値の配列を返します。
要素の探索に CSV::Row.field を使用しています。
@param headers_and_or_indices ヘッダの名前かインデックスか Range
のインスタンスか第 1 要素がヘッダの名前で
第 2 要素がオフセットになっている 2 要素
の配列をいくつでも指定します。混在するこ
とがで... -
Matrix
# each _ with _ index(which = :all) -> Enumerator (18340.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| . . . } (18337.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| . . . } (18337.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) (18337.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
# inspect -> String (18337.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
:: Table # inspect -> String (18337.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>"
//} -
Array
# to _ csv(**options) -> String (18319.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| . . . } (18319.0) -
引数 name で指定した変換器かブロックに各フィールドを渡して文字列から別 のオブジェクトへと変換します。
引数 name で指定した変換器かブロックに各フィールドを渡して文字列から別
のオブジェクトへと変換します。
引数 name を指定した場合は、組み込みの CSV::Converters を変換器
として利用するために使います。また、独自の変換器を追加することもできま
す。
ブロックパラメータを一つ受け取るブロックを与えた場合は、そのブロックは
フィールドを受け取ります。ブロックパラメータを二つ受け取るブロックを与
えた場合は、そのブロックは、フィールドと CSV::FieldInfo のインス
タンスを受け取ります。ブロックは変換後の値かフィールドそのものを返さな
ければなりません。
... -
CSV
# convert {|field| . . . } (18319.0) -
引数 name で指定した変換器かブロックに各フィールドを渡して文字列から別 のオブジェクトへと変換します。
引数 name で指定した変換器かブロックに各フィールドを渡して文字列から別
のオブジェクトへと変換します。
引数 name を指定した場合は、組み込みの CSV::Converters を変換器
として利用するために使います。また、独自の変換器を追加することもできま
す。
ブロックパラメータを一つ受け取るブロックを与えた場合は、そのブロックは
フィールドを受け取ります。ブロックパラメータを二つ受け取るブロックを与
えた場合は、そのブロックは、フィールドと CSV::FieldInfo のインス
タンスを受け取ります。ブロックは変換後の値かフィールドそのものを返さな
ければなりません。
... -
CSV
# convert(name) (18319.0) -
引数 name で指定した変換器かブロックに各フィールドを渡して文字列から別 のオブジェクトへと変換します。
引数 name で指定した変換器かブロックに各フィールドを渡して文字列から別
のオブジェクトへと変換します。
引数 name を指定した場合は、組み込みの CSV::Converters を変換器
として利用するために使います。また、独自の変換器を追加することもできま
す。
ブロックパラメータを一つ受け取るブロックを与えた場合は、そのブロックは
フィールドを受け取ります。ブロックパラメータを二つ受け取るブロックを与
えた場合は、そのブロックは、フィールドと CSV::FieldInfo のインス
タンスを受け取ります。ブロックは変換後の値かフィールドそのものを返さな
ければなりません。
... -
CSV
# converters -> Array (18319.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 (18319.0) -
フィールドをクオートするのに使用する文字列を返します。
フィールドをクオートするのに使用する文字列を返します。
//emlist[例][ruby]{
require "csv"
csv = CSV.new("header1,header2\nrow1_1,row1_2", quote_char: "'")
csv.quote_char # => "'"
//}
@see CSV.new -
CSV
. generate(str = "" , options = Hash . new) {|csv| . . . } -> String (18319.0) -
このメソッドは与えられた文字列をラップして CSV のオブジェクトとしてブロックに渡します。 ブロック内で CSV オブジェクトに行を追加することができます。 ブロックを評価した結果は文字列を返します。
このメソッドは与えられた文字列をラップして CSV のオブジェクトとしてブロックに渡します。
ブロック内で CSV オブジェクトに行を追加することができます。
ブロックを評価した結果は文字列を返します。
このメソッドに与えられた文字列は変更されるので、新しい文字列オブジェクトが必要な
場合は Object#dup で複製してください。
@param str 文字列を指定します。デフォルトは空文字列です。
@param options CSV.new のオプションと同じオプションを指定できます。
:encoding というキーを使用すると出力のエンコーディン... -
CSV
:: DEFAULT _ OPTIONS -> Hash (18319.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
:: Row # size -> Integer (18301.0) -
Array#length, Array#size に委譲します。
Array#length, Array#size に委譲します。
@see Array#size -
UncaughtThrowError
# value -> object (18301.0) -
Kernel.#throw に指定した value を返します。
Kernel.#throw に指定した value を返します。
//emlist[例][ruby]{
def do_complicated_things
throw :uncaught_label, "uncaught_value"
end
begin
do_complicated_things
rescue UncaughtThrowError => ex
p ex.value # => "uncaught_value"
end
//} -
CSV
:: Table (18037.0) -
CSV::Table は CSV ドキュメントを表す二次元のデータ構造です。 行単位や列単位の操作を行うことが出来ます。また必要であれば CSV に 戻すこともできます。
CSV::Table は CSV ドキュメントを表す二次元のデータ構造です。
行単位や列単位の操作を行うことが出来ます。また必要であれば CSV に
戻すこともできます。
ヘッダ行の処理が有効である場合、CSV から返されるテーブルは全てこのクラスから
構築されます。
以下のメソッドを Array に委譲します。
* Array#empty?
* Array#length
* Array#size
=== アクセスモード
以下の三種類のモードがあります。
: :col_or_row
デフォルトはこのモードです。このマニュアル内ではミックスモードと呼んでいます。
... -
Matrix (18019.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) ]
... -
CSV
:: Table # [](index) -> CSV :: Row | [String] | nil (10507.0) -
ミックスモードでは、このメソッドは引数に行番号を指定すれば行単位で動作 し、ヘッダの名前を指定すれば列単位で動作します。
ミックスモードでは、このメソッドは引数に行番号を指定すれば行単位で動作
し、ヘッダの名前を指定すれば列単位で動作します。
このメソッドを呼び出す前に CSV::Table#by_col! を呼び出すとカラム
モードになります。また CSV::Table#by_row! を呼び出すとロウモード
になります。
@param index ミックスモード・ロウモードでは、取得したい行の行番号を整数で指定します。
カラムモードでは、取得したい列の列番号を整数で指定します。
@param range 取得したい範囲を整数の範囲で指定します。
@param header 取得... -
Matrix
. build(row _ size , column _ size = row _ size) {|row , col| . . . } -> Matrix (10318.0) -
row_size×column_sizeの行列をブロックの返り値から生成します。
row_size×column_sizeの行列をブロックの返り値から生成します。
行列の各要素の位置がブロックに渡され、それの返り値が行列の要素となります。
ブロックを省略した場合は Enumerator を返します。
//emlist[例][ruby]{
require 'matrix'
m = Matrix.build(2, 4) {|row, col| col - row }
# => Matrix[[0, 1, 2, 3], [-1, 0, 1, 2]]
m = Matrix.build(3) { rand }
# => a 3x3 matrix with random... -
Matrix
# minor(from _ row . . to _ row , from _ col . . to _ col) -> Matrix (10249.0) -
selfの部分行列を返します。
selfの部分行列を返します。
自分自身の部分行列を返します。
ただし、パラメータは次の方法で指定します。
(1) 開始行番号, 行の大きさ, 開始列番号, 列の大きさ
(2) 開始行番号..終了行番号, 開始列番号..終了列番号
@param from_row 部分行列の開始行(0オリジンで指定)
@param row_size 部分行列の行サイズ
@param from_col 部分行列の開始列(0オリジンで指定)
@param col_size 部分行列の列サイズ
//emlist[例][ruby]{
require 'matrix'
a1 = [ 1, 2, 3, ... -
CSV
:: Table # [](header) -> [String] | [nil] (10207.0) -
ミックスモードでは、このメソッドは引数に行番号を指定すれば行単位で動作 し、ヘッダの名前を指定すれば列単位で動作します。
ミックスモードでは、このメソッドは引数に行番号を指定すれば行単位で動作
し、ヘッダの名前を指定すれば列単位で動作します。
このメソッドを呼び出す前に CSV::Table#by_col! を呼び出すとカラム
モードになります。また CSV::Table#by_row! を呼び出すとロウモード
になります。
@param index ミックスモード・ロウモードでは、取得したい行の行番号を整数で指定します。
カラムモードでは、取得したい列の列番号を整数で指定します。
@param range 取得したい範囲を整数の範囲で指定します。
@param header 取得... -
CSV
:: Table # [](range) -> [CSV :: Row]| [Array] | nil (10207.0) -
ミックスモードでは、このメソッドは引数に行番号を指定すれば行単位で動作 し、ヘッダの名前を指定すれば列単位で動作します。
ミックスモードでは、このメソッドは引数に行番号を指定すれば行単位で動作
し、ヘッダの名前を指定すれば列単位で動作します。
このメソッドを呼び出す前に CSV::Table#by_col! を呼び出すとカラム
モードになります。また CSV::Table#by_row! を呼び出すとロウモード
になります。
@param index ミックスモード・ロウモードでは、取得したい行の行番号を整数で指定します。
カラムモードでは、取得したい列の列番号を整数で指定します。
@param range 取得したい範囲を整数の範囲で指定します。
@param header 取得... -
CSV
:: Table # each {|row| . . . } -> self (10150.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"])
row3 = CSV::Row.new(["header1", "header2"], ["row3... -
Matrix
# laplace _ expansion(row: nil , column: nil) -> object | Integer | Rational | Float (10027.0) -
row 行、もしくは column 列に関するラプラス展開をする。
row 行、もしくは column 列に関するラプラス展開をする。
通常の行列に対してはこれは単に固有値を計算するだけです。かわりにMatrix#determinant を
利用すべきです。
変則的な形状の行列に対してはそれ以上の意味を持ちます。例えば
row行/column列が行列やベクトルである場合には
//emlist[例][ruby]{
require 'matrix'
# Matrix[[7,6], [3,9]].laplace_expansion(column: 1) # => 45
Matrix[[Vector[1, 0], Vector[0, 1]], [2, 3]].... -
Matrix
# minor(from _ row , row _ size , from _ col , col _ size) -> Matrix (9949.0) -
selfの部分行列を返します。
selfの部分行列を返します。
自分自身の部分行列を返します。
ただし、パラメータは次の方法で指定します。
(1) 開始行番号, 行の大きさ, 開始列番号, 列の大きさ
(2) 開始行番号..終了行番号, 開始列番号..終了列番号
@param from_row 部分行列の開始行(0オリジンで指定)
@param row_size 部分行列の行サイズ
@param from_col 部分行列の開始列(0オリジンで指定)
@param col_size 部分行列の列サイズ
//emlist[例][ruby]{
require 'matrix'
a1 = [ 1, 2, 3, ... -
CSV
:: Table . new(array _ of _ rows) -> CSV :: Table (9871.0) -
自身を初期化します。
自身を初期化します。
全ての行が同じヘッダを持つことを仮定しています。
@param array_of_rows CSV::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.to_... -
CSV
:: Table # each {|column _ name , values| . . . } -> self (9850.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"])
row3 = CSV::Row.new(["header1", "header2"], ["row3... -
CSV
# puts(row) -> self (9823.0) -
自身に row を追加します。
自身に row を追加します。
データソースは書き込み用にオープンされていなければなりません。
@param row 配列か CSV::Row のインスタンスを指定します。
CSV::Row のインスタンスが指定された場合は、CSV::Row#fields の値
のみが追加されます。
//emlist[例 配列を指定][ruby]{
require "csv"
File.write("test.csv", <<CSV)
id,first name,last name,age
1,taro,tanaka,20
2,jiro,suzuki,18... -
Matrix
. build(row _ size , column _ size = row _ size) -> Enumerable (9718.0) -
row_size×column_sizeの行列をブロックの返り値から生成します。
row_size×column_sizeの行列をブロックの返り値から生成します。
行列の各要素の位置がブロックに渡され、それの返り値が行列の要素となります。
ブロックを省略した場合は Enumerator を返します。
//emlist[例][ruby]{
require 'matrix'
m = Matrix.build(2, 4) {|row, col| col - row }
# => Matrix[[0, 1, 2, 3], [-1, 0, 1, 2]]
m = Matrix.build(3) { rand }
# => a 3x3 matrix with random... -
CSV
:: Table # ==(other) -> bool (9715.0) -
自身の全ての行が比較対象と同じである場合は真を返します。 そうでない場合は偽を返します。
自身の全ての行が比較対象と同じである場合は真を返します。
そうでない場合は偽を返します。
@param 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"], ["ro... -
Matrix
. zero(row , column) -> Matrix (9670.0) -
row × column の零行列(要素が全て 0 の行列)を生成して返します。
row × column の零行列(要素が全て 0 の行列)を生成して返します。
//emlist[例][ruby]{
require 'matrix'
p Matrix.zero(2, 3) #=> Matrix[[0, 0, 0], [0, 0, 0]]
//}
@param row 生成する行列の行数
@param column 生成する行列の列数 -
Matrix
# find _ index(selector = :all) -> Enumerator (9649.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 (9649.0) -
指定した値と一致する要素の位置を [row, column] という配列で返します。 ブロックを与えた場合は各要素を引数としてブロックを呼び出し、 返り値が真であった要素の位置を返します。
指定した値と一致する要素の位置を [row, column] という配列で返します。
ブロックを与えた場合は各要素を引数としてブロックを呼び出し、
返り値が真であった要素の位置を返します。
複数の位置で値が一致する/ブロックが真を返す、場合は最初
に見つかった要素の位置を返します。
selector で行列のどの部分を探すかを指定します。この引数の意味は
Matrix#each を参照してください。
//emlist[例][ruby]{
require 'matrix'
Matrix[ [1,2], [3,4] ].index(&:even?) # => [0, 1]
Matrix[ ... -
CSV
:: Table # []=(index _ or _ header , value) (9613.0) -
ミックスモードでは、このメソッドは引数に行番号を指定すれば行単位で動作 し、ヘッダの名前を指定すれば列単位で動作します。
ミックスモードでは、このメソッドは引数に行番号を指定すれば行単位で動作
し、ヘッダの名前を指定すれば列単位で動作します。
このメソッドを呼び出す前に CSV::Table#by_col! を呼び出すとカラム
モードになります。また CSV::Table#by_row! を呼び出すとロウモード
になります。
行には配列か CSV::Row のインスタンスを指定します。
列に値を一つだけ指定した場合は、全ての行にその値をコピーします。配列を
指定した場合は、上から順に値を割り当てます。余分な値は無視します。また、
値が不足している場合は nil を割り当てます。
既存の行または列のデータ... -
CSV
:: Table # <<(row _ or _ array) -> self (9610.0) -
自身の最後に新しい行を追加します。
自身の最後に新しい行を追加します。
@param row_or_array CSV::Row のインスタンスか配列を指定します。
配列を指定した場合は CSV::Row に変換されます。
@return メソッドチェーンのために自身を返します。
//emlist[例][ruby]{
require "csv"
row1 = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])
row2 = CSV::Row.new(["header1", "header2"], ["row2_1"... -
Matrix
. [](*rows) -> Matrix (9601.0) -
rows[i] を第 i 行とする行列を生成します。
rows[i] を第 i 行とする行列を生成します。
@param rows 行列の要素を数の配列の配列として渡します。
//emlist[例][ruby]{
require 'matrix'
m = Matrix[[11, 12], [21, 22]]
p m # => Matrix[[11, 12], [21, 22]]
# [11, 12]
# [21, 22]
//} -
CSV
:: Row # ==(other) -> bool (9571.0) -
自身が other と同じヘッダやフィールドを持つ場合に真を返します。 そうでない場合は偽を返します。
自身が 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 == row2 # => true
row2 << ["he... -
CSV
:: Table # by _ col -> CSV :: Table (9553.0) -
カラムモードになっている新しい CSV::Table オブジェクトを返します。
カラムモードになっている新しい CSV::Table オブジェクトを返します。
元のテーブルモードを変更せずにメソッドチェーンできるので便利です。しか
し、大きなデータセットに対しても同じだけメモリを消費するので気をつけて
ください。
このメソッドは複製したテーブルを返すので、破壊的なメソッドはメソッド
チェーンに組込まないようにしてください。
//emlist[例][ruby]{
require "csv"
row1 = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])
row2 = CSV::Row.new(["... -
CSV
:: Row # [](header _ or _ index , minimum _ index = 0) -> object | nil (9517.0) -
ヘッダの名前かインデックスで値を取得します。フィールドが見つからなかった場合は nil を返します。
ヘッダの名前かインデックスで値を取得します。フィールドが見つからなかった場合は nil を返します。
@param header_or_index ヘッダの名前かインデックスを指定します。
@param minimum_index このインデックスより後で、ヘッダの名前を探します。
重複しているヘッダがある場合に便利です。
//emlist[例][ruby]{
require "csv"
row = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])
row.field("h... -
CSV
:: Row # field(header _ or _ index , minimum _ index = 0) -> object | nil (9517.0) -
ヘッダの名前かインデックスで値を取得します。フィールドが見つからなかった場合は nil を返します。
ヘッダの名前かインデックスで値を取得します。フィールドが見つからなかった場合は nil を返します。
@param header_or_index ヘッダの名前かインデックスを指定します。
@param minimum_index このインデックスより後で、ヘッダの名前を探します。
重複しているヘッダがある場合に便利です。
//emlist[例][ruby]{
require "csv"
row = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])
row.field("h... -
CSV
# readline -> Array | CSV :: Row (9448.0) -
String や IO をラップしたデータソースから一行だけ読み込んで フィールドの配列か CSV::Row のインスタンスを返します。
String や IO をラップしたデータソースから一行だけ読み込んで
フィールドの配列か CSV::Row のインスタンスを返します。
データソースは読み込み用にオープンされている必要があります。
@return ヘッダを使用しない場合は配列を返します。
ヘッダを使用する場合は CSV::Row を返します。
//emlist[例][ruby]{
require "csv"
csv = CSV.new(DATA.read)
csv.readline # => ["header1", "header2"]
csv.readline # => ["row1_1", "r... -
CSV
:: Table # push(*rows) -> self (9427.0) -
複数の行を追加するためのショートカットです。
複数の行を追加するためのショートカットです。
以下と同じです。
//emlist[][ruby]{
rows.each {|row| self << row }
//}
@param rows CSV::Row のインスタンスか配列を指定します。
//emlist[例][ruby]{
require 'csv'
csv = CSV.new("a,b,c\n1,2,3", headers: true)
table = csv.read
rows = [
CSV::Row.new(table.headers, [4, 5, 6]),
[7, 8, 9]
]
table.push(... -
CSV
:: Row # []=(header , offset , value) (9415.0) -
ヘッダの名前でフィールドを探し、値をセットします。
ヘッダの名前でフィールドを探し、値をセットします。
@param header ヘッダの名前を指定します。
@param offset このインデックスより後で、ヘッダの名前を探します。
重複しているヘッダがある場合に便利です。
@param value 値を指定します。
@see CSV::Row#field -
CSV
:: Row # index(header , minimum _ index = 0) -> Integer (9391.0) -
与えられたヘッダの名前に対応するインデックスを返します。
与えられたヘッダの名前に対応するインデックスを返します。
@param header ヘッダの名前を指定します。
@param minimum_index このインデックスより後で、ヘッダの名前を探します。
重複しているヘッダがある場合に便利です。
//emlist[例][ruby]{
require "csv"
row = CSV::Row.new(["header1", "header2", "header1"], [1, 2, 3])
row.index("header1") # => 0
row.index("header1",... -
CSV
:: Row # field?(data) -> bool (9373.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
//} -
Matrix
# find _ index(selector = :all) {|e| . . . } -> [Integer , Integer] | nil (9349.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 (9349.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 (9349.0) -
指定した値と一致する要素の位置を [row, column] という配列で返します。 ブロックを与えた場合は各要素を引数としてブロックを呼び出し、 返り値が真であった要素の位置を返します。
指定した値と一致する要素の位置を [row, column] という配列で返します。
ブロックを与えた場合は各要素を引数としてブロックを呼び出し、
返り値が真であった要素の位置を返します。
複数の位置で値が一致する/ブロックが真を返す、場合は最初
に見つかった要素の位置を返します。
selector で行列のどの部分を探すかを指定します。この引数の意味は
Matrix#each を参照してください。
//emlist[例][ruby]{
require 'matrix'
Matrix[ [1,2], [3,4] ].index(&:even?) # => [0, 1]
Matrix[ ...