- すべて(929)
- 2.1.0(145)
- 2.2.0(145)
- 2.3.0(148)
- 2.4.0(160)
- 2.5.0(162)
- 2.6.0(169)
種類
- インスタンスメソッド (155)
- 特異メソッド (5)
ライブラリ
- ビルトイン (158)
- abbrev (1)
- shellwords (1)
キーワード
- & (1)
- * (2)
- + (1)
- - (1)
- << (1)
- <=> (1)
- == (1)
- [] (4)
- []= (3)
- abbrev (1)
- assoc (1)
- at (1)
- bsearch (2)
-
bsearch
_ index (2) - clear (1)
- clone (1)
- collect! (2)
- combination (2)
- compact (1)
- compact! (1)
- concat (2)
- cycle (2)
- delete (2)
-
delete
_ at (1) -
delete
_ if (2) - dig (1)
- dup (1)
- each (2)
-
each
_ index (2) - empty? (1)
- eql? (1)
- fetch (3)
- fill (6)
-
find
_ index (3) - first (2)
- flatten (1)
- flatten! (1)
- hash (1)
- include? (1)
- index (3)
- insert (1)
- inspect (1)
- join (1)
-
keep
_ if (2) - last (2)
- length (1)
- map! (2)
- max (4)
- min (4)
- new (3)
- pack (2)
- permutation (2)
- pop (2)
- product (2)
- push (1)
- rassoc (1)
- reject! (2)
-
repeated
_ combination (2) -
repeated
_ permutation (2) - replace (1)
- reverse (1)
- reverse! (1)
-
reverse
_ each (2) - rindex (3)
- rotate (1)
- rotate! (1)
- sample (4)
- select (2)
- select! (2)
- shelljoin (1)
- shift (2)
- shuffle (2)
- shuffle! (2)
- size (1)
- slice (3)
- slice! (3)
- sort (2)
- sort! (2)
-
sort
_ by! (2) - sum (2)
-
to
_ a (1) -
to
_ ary (1) -
to
_ h (1) -
to
_ s (1) - transpose (1)
-
try
_ convert (1) - uniq (2)
- uniq! (2)
- unshift (1)
-
values
_ at (1) - zip (2)
- | (1)
検索結果
先頭5件
-
Array
# &(other) -> Array (4.0) -
集合の積演算です。両方の配列に含まれる要素からなる新しい配列を返 します。重複する要素は取り除かれます。
...場合は to_ary メソッドによ
る暗黙の型変換を試みます。
@raise TypeError 引数に配列以外の(暗黙の型変換が行えない)オブジェクトを
指定した場合に発生します。
[1, 1, 2, 3] & [3, 1, 4] #=> [1, 3]
@see Array#|... -
Array
# *(sep) -> String (4.0) -
指定された sep を間にはさんで連結した文字列を生成して返します。Array#join(sep) と同じ動作をします。
...す。Array#join(sep) と同じ動作をします。
@param sep 文字列を指定します。
文字列以外のオブジェクトを指定した場合は to_str メソッドによ
る暗黙の型変換を試みます。
p [1,2,3] * ","
# => "1,2,3"
@see Array#join... -
Array
# *(times) -> Array (4.0) -
配列の内容を times 回 繰り返した新しい配列を作成して返します。 値はコピーされないことに注意してください。
配列の内容を times 回 繰り返した新しい配列を作成して返します。
値はコピーされないことに注意してください。
@param times 繰り返したい回数を整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソッドによ
る暗黙の型変換を試みます。
@raise TypeError 引数に整数以外の(暗黙の型変換が行えない)オブジェクトを
指定した場合に発生します。
@raise ArgumentError 引数に負の数を指定した場合に発生します。
p [1, 2,... -
Array
# +(other) -> Array (4.0) -
自身と other の内容を繋げた配列を生成して返します。
自身と other の内容を繋げた配列を生成して返します。
@param other 自身と繋げたい配列を指定します。
配列以外のオブジェクトを指定した場合は to_ary メソッドによ
る暗黙の型変換を試みます。
@raise TypeError 引数に配列以外の(暗黙の型変換が行えない)オブジェクトを
指定した場合に発生します。
a = [1, 2]
b = [8, 9]
p a + b #=> [1, 2, 8, 9]
p a #=> [1... -
Array
# -(other) -> Array (4.0) -
自身から other の要素を取り除いた配列を生成して返します。
自身から other の要素を取り除いた配列を生成して返します。
要素の同一性は Object#eql? により評価されます。
self 中で重複していて、other中に存在していなかった要素は、その重複が保持されます。
@param other 自身から取り除きたい要素の配列を指定します。
配列以外のオブジェクトを指定した場合は to_ary メソッドによ
る暗黙の型変換を試みます。
@raise TypeError 引数に配列以外の(暗黙の型変換が行えない)オブジェクトを
指定した場合に発生します... -
Array
# <<(obj) -> self (4.0) -
指定された obj を自身の末尾に破壊的に追加します。
...を返すので、以下のように連続して
書くことができます。
ary = [1]
ary << 2 << 3 << 4
p ary #=> [1, 2, 3, 4]
@param obj 自身に加えたいオブジェクトを指定します。Array#push と違って引数は一つしか指定できません。
@see Array#push... -
Array
# <=>(other) -> -1 | 0 | 1 | nil (4.0) -
自身と other の各要素をそれぞれ順に <=> で比較していき、結果が 0 でなかった場合に その値を返します。各要素が等しく、配列の長さも等しい場合には 0 を返します。 各要素が等しいまま一方だけ配列の末尾に達した時、自身の方が短ければ -1 をそうでなければ 1 を返します。 other に配列以外のオブジェクトを指定した場合は nil を返します。
自身と other の各要素をそれぞれ順に <=> で比較していき、結果が 0 でなかった場合に
その値を返します。各要素が等しく、配列の長さも等しい場合には 0 を返します。
各要素が等しいまま一方だけ配列の末尾に達した時、自身の方が短ければ -1 をそうでなければ 1
を返します。
other に配列以外のオブジェクトを指定した場合は nil を返します。
@param other 自身と比較したい配列を指定します。
配列以外のオブジェクトを指定した場合は to_ary メソッドによ
る暗黙の型変換を試みます。
[ 1, 2,... -
Array
# ==(other) -> bool (4.0) -
自身と other の各要素をそれぞれ順に == で比較し て、全要素が等しければ true を返します。そうでない場合には false を返します。
自身と other の各要素をそれぞれ順に == で比較し
て、全要素が等しければ true を返します。そうでない場合には false を返します。
@param other 自身と比較したい配列を指定します。
@see Object#==
[ "a", "c" ] == [ "a", "c", 7 ] #=> false
[ "a", "c", 7 ] == [ "a", "c", 7 ] #=> true
[ "a", "c", 7 ] == [ "a", "d", "f" ] #=> false -
Array
# [](nth) -> object | nil (4.0) -
nth 番目の要素を返します。nth 番目の要素が存在しない時には nil を返します。
nth 番目の要素を返します。nth 番目の要素が存在しない時には nil を返します。
@param nth インデックスを整数で指定します。
先頭の要素が 0 番目になります。nth の値が負の時には末尾から
のインデックスと見倣します。末尾の要素が -1 番目になります。
整数以外のオブジェクトを指定した場合は to_int メソッドによる
暗黙の型変換を試みます。
@raise TypeError 引数に整数以外の(暗黙の型変換が行えない)オブジェクトを
指定... -
Array
# [](range) -> Array | nil (4.0) -
Range オブジェクト range の範囲にある要素からなる部分配列を返します。 range の first の値が配列の範囲に収まらない場合 nil を返します。 range の first が end より後にある場合には空の配列を返します。
Range オブジェクト range の範囲にある要素からなる部分配列を返します。
range の first の値が配列の範囲に収まらない場合 nil を返します。
range の first が end より後にある場合には空の配列を返します。
@param range 生成したい部分配列の範囲を Range オブジェクトで指定します。
range の first や end の値が負の時には末尾からのインデックスと見倣します。末尾
の要素が -1 番目になります。
end の値が配列の範囲を越える時には、越... -
Array
# [](start , length) -> Array | nil (4.0) -
start 番目から length 個の要素を含む部分配列を返します。 length が負の時、start が自身の範囲を越えた時には nil を返します。
start 番目から length 個の要素を含む部分配列を返します。
length が負の時、start が自身の範囲を越えた時には nil を返します。
@param start 生成したい部分配列の先頭のインデックスを整数で指定します。
start の値が負の時には末尾からのインデックスと見倣します。
末尾の要素が -1 番目になります。
整数以外のオブジェクトを指定した場合は to_int メソッドによ
る暗黙の型変換を試みます。
@param length 生成したい部分配列... -
Array
# []=(nth , val) (4.0) -
nth 番目の要素を val に設定します。nth が配列の範囲を越える時には配列の長さを自動的に拡張し、 拡張した領域を nil で初期化します。
nth 番目の要素を val に設定します。nth が配列の範囲を越える時には配列の長さを自動的に拡張し、
拡張した領域を nil で初期化します。
@param nth インデックスを整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる
暗黙の型変換を試みます。
@param val 設定したい要素の値を指定します。
@raise TypeError 引数 nth に整数以外の(暗黙の型変換が行えない)オブジェ
クトを指定した場合に発生します。
@raise Index... -
Array
# []=(range , val) (4.0) -
Range オブジェクト range の範囲にある要素を配列 val の内容に置換します。 range の first が自身の末尾を越える時には配列の長さを自動的に拡張し、拡張した領域を nil で初期化します。
Range オブジェクト range の範囲にある要素を配列 val の内容に置換します。
range の first が自身の末尾を越える時には配列の長さを自動的に拡張し、拡張した領域を nil で初期化します。
ary = [0, 1, 2, 3, 4, 5]
ary[0..2] = ["a", "b"]
p ary # => ["a", "b", 3, 4, 5]
ary = [0, 1, 2]
ary[5..6] = "x"
p ary # => [0, 1, 2, nil, nil, "x"]
ary = [... -
Array
# []=(start , length , val) (4.0) -
インデックス start から length 個の要素を配列 val の内容で置き換えます。 start が自身の末尾を越える時には配列の長さを自動的に拡張し、拡張した領域を nil で初期化します。
インデックス start から length 個の要素を配列 val の内容で置き換えます。
start が自身の末尾を越える時には配列の長さを自動的に拡張し、拡張した領域を nil で初期化します。
ary = [0, 1, 2, 3]
ary[1, 2] = ["a", "b", "c", "d"]
p ary #=> [0, "a", "b", "c", "d", 3]
ary = [0, 1, 2]
ary[5, 1] = "Z"
p ary #=> [0, 1... -
Array
# abbrev(pattern = nil) -> Hash (4.0) -
self が文字列の配列の場合、self から一意に決まる短縮形を計算し、 短縮形をキー、元の文字列を値とするハッシュを返します。
self が文字列の配列の場合、self から一意に決まる短縮形を計算し、
短縮形をキー、元の文字列を値とするハッシュを返します。
引数に正規表現を指定すると、self のうちそのパターンにマッチしたものから短縮形を計算します。
引数に文字列を指定すると、self のうちその文字列で始まるものから短縮形を計算します。
Abbrev.#abbrev(self, pattern) と同じです。
@param pattern Regexp か String を指定します。
require 'abbrev'
p %w[ruby rubyist].abbrev
#=> {"rub... -
Array
# assoc(key) -> Array | nil (4.0) -
配列の配列を検索して、その 0 番目の要素が key に == で等しい 最初の要素を返します。該当する要素がなければ nil を返します。
...。該当する要素がなければ nil を返します。
@param key 検索するオブジェクトを指定します。
ary = [[1,15], [2,25], [3,35]]
p ary.assoc(2) # => [2, 25]
p ary.assoc(100) # => nil
p ary.assoc(15) # => nil
@see Array#rassoc... -
Array
# at(nth) -> object | nil (4.0) -
nth 番目の要素を返します。nth 番目の要素が存在しない時には nil を返します。
nth 番目の要素を返します。nth 番目の要素が存在しない時には nil を返します。
@param nth インデックスを整数で指定します。
先頭の要素が 0 番目になります。nth の値が負の時には末尾から
のインデックスと見倣します。末尾の要素が -1 番目になります。
整数以外のオブジェクトを指定した場合は to_int メソッドによる
暗黙の型変換を試みます。
@raise TypeError 引数に整数以外の(暗黙の型変換が行えない)オブジェクトを
指定... -
Array
# bsearch -> Enumerator (4.0) -
ブロックの評価結果で範囲内の各要素の判定を行い、条件を満たす値を二分探 索(計算量は O(log n))で検索します。要素が見つからない場合は nil を返し ます。self はあらかじめソートしておく必要があります。
...merator のインスタンスを返します。
@raise TypeError ブロックの評価結果が true、false、nil、数値以外であっ
た場合に発生します。
@see Array#bsearch_index, Range#bsearch, https://magazine.rubyist.net/articles/0041/0041-200Special-note.html... -
Array
# bsearch { |x| . . . } -> object | nil (4.0) -
ブロックの評価結果で範囲内の各要素の判定を行い、条件を満たす値を二分探 索(計算量は O(log n))で検索します。要素が見つからない場合は nil を返し ます。self はあらかじめソートしておく必要があります。
...merator のインスタンスを返します。
@raise TypeError ブロックの評価結果が true、false、nil、数値以外であっ
た場合に発生します。
@see Array#bsearch_index, Range#bsearch, https://magazine.rubyist.net/articles/0041/0041-200Special-note.html... -
Array
# bsearch _ index -> Enumerator (4.0) -
ブロックの評価結果で範囲内の各要素の判定を行い、条件を満たす値の位置を 二分探索(計算量は O(log n))で検索します。要素が見つからない場合は nil を返します。self はあらかじめソートしておく必要があります。
...メソッドはArray#bsearchと同様に、ブロックを評価した結果により2
つのモードで動作します。Array#bsearch との違いは見つかった要素自
身を返すか位置を返すかのみです。各モードのより詳細な違いについては
Array#bsearch を参照......| x >= 100 } # => nil
//}
//emlist[例: find-any モード][ruby]{
ary = [0, 4, 7, 10, 12]
# 4 <= v < 8 になる要素の位置を検索
ary.bsearch_index { |x| 1 - x / 4 } # => 2
# 8 <= v < 10 になる要素の位置を検索
ary.bsearch_index { |x| 4 - x / 2 } # => nil
//}
@see Array#bsearch... -
Array
# bsearch _ index { |x| . . . } -> Integer | nil (4.0) -
ブロックの評価結果で範囲内の各要素の判定を行い、条件を満たす値の位置を 二分探索(計算量は O(log n))で検索します。要素が見つからない場合は nil を返します。self はあらかじめソートしておく必要があります。
...メソッドはArray#bsearchと同様に、ブロックを評価した結果により2
つのモードで動作します。Array#bsearch との違いは見つかった要素自
身を返すか位置を返すかのみです。各モードのより詳細な違いについては
Array#bsearch を参照......| x >= 100 } # => nil
//}
//emlist[例: find-any モード][ruby]{
ary = [0, 4, 7, 10, 12]
# 4 <= v < 8 になる要素の位置を検索
ary.bsearch_index { |x| 1 - x / 4 } # => 2
# 8 <= v < 10 になる要素の位置を検索
ary.bsearch_index { |x| 4 - x / 2 } # => nil
//}
@see Array#bsearch... -
Array
# clear -> self (4.0) -
配列の要素をすべて削除して空にします。
配列の要素をすべて削除して空にします。
ary = [1, 2]
ary.clear
p ary #=> [] -
Array
# clone -> Array (4.0) -
レシーバと同じ内容を持つ新しい配列を返します。
レシーバと同じ内容を持つ新しい配列を返します。
clone は frozen tainted singleton-class の情報も含めてコピーしますが、
dup は内容だけをコピーします。
またどちらのメソッドも要素それ自体のコピーはしません。
つまり「浅い(shallow)」コピーを行います。
ary = ['string']
p ary #=> ["string"]
copy = ary.dup
p copy #=> ["string"]
ary[0][0...3] = ''
p ar... -
Array
# collect! -> Enumerator (4.0) -
各要素を順番にブロックに渡して評価し、その結果で要素を 置き換えます。
各要素を順番にブロックに渡して評価し、その結果で要素を
置き換えます。
ブロックが与えられなかった場合は、自身と map! から生成した
Enumerator オブジェクトを返します。
例:
ary = [1, 2, 3]
ary.map! {|i| i * 3 }
p ary #=> [3, 6, 9]
ary = [1, 2, 3]
e = ary.map!
e.each{ 1 }
p ary #=> [1, 1, 1]
@see Enumerable#collect, Enumerator -
Array
# collect! {|item| . . } -> self (4.0) -
各要素を順番にブロックに渡して評価し、その結果で要素を 置き換えます。
各要素を順番にブロックに渡して評価し、その結果で要素を
置き換えます。
ブロックが与えられなかった場合は、自身と map! から生成した
Enumerator オブジェクトを返します。
例:
ary = [1, 2, 3]
ary.map! {|i| i * 3 }
p ary #=> [3, 6, 9]
ary = [1, 2, 3]
e = ary.map!
e.each{ 1 }
p ary #=> [1, 1, 1]
@see Enumerable#collect, Enumerator -
Array
# combination(n) -> Enumerator (4.0) -
サイズ n の組み合わせをすべて生成し、それを引数としてブロックを実行します。
...],[3,4]]
a.combination(3).to_a #=> [[1,2,3],[1,2,4],[1,3,4],[2,3,4]]
a.combination(4).to_a #=> [[1,2,3,4]]
a.combination(0).to_a #=> [[]]: one combination of length 0
a.combination(5).to_a #=> [] : no combinations of length 5
@see Array#permutation, Array#repeated_combination... -
Array
# combination(n) {|c| block } -> Array (4.0) -
サイズ n の組み合わせをすべて生成し、それを引数としてブロックを実行します。
...],[3,4]]
a.combination(3).to_a #=> [[1,2,3],[1,2,4],[1,3,4],[2,3,4]]
a.combination(4).to_a #=> [[1,2,3,4]]
a.combination(0).to_a #=> [[]]: one combination of length 0
a.combination(5).to_a #=> [] : no combinations of length 5
@see Array#permutation, Array#repeated_combination... -
Array
# compact -> Array (4.0) -
compact は自身から nil を取り除いた配列を生成して返します。 compact! は自身から破壊的に nil を取り除き、変更が 行われた場合は self を、そうでなければ nil を返します。
compact は自身から nil を取り除いた配列を生成して返します。
compact! は自身から破壊的に nil を取り除き、変更が
行われた場合は self を、そうでなければ nil を返します。
ary = [1, nil, 2, nil, 3, nil]
p ary.compact #=> [1, 2, 3]
p ary #=> [1, nil, 2, nil, 3, nil]
ary.compact!
p ary #=> [1, 2, 3]
p ary.compact! #=> n... -
Array
# compact! -> self | nil (4.0) -
compact は自身から nil を取り除いた配列を生成して返します。 compact! は自身から破壊的に nil を取り除き、変更が 行われた場合は self を、そうでなければ nil を返します。
compact は自身から nil を取り除いた配列を生成して返します。
compact! は自身から破壊的に nil を取り除き、変更が
行われた場合は self を、そうでなければ nil を返します。
ary = [1, nil, 2, nil, 3, nil]
p ary.compact #=> [1, 2, 3]
p ary #=> [1, nil, 2, nil, 3, nil]
ary.compact!
p ary #=> [1, 2, 3]
p ary.compact! #=> n... -
Array
# concat(*other _ arrays) -> self (4.0) -
other_arrays の要素を自身の末尾に破壊的に連結します。
...other_arrays の要素を自身の末尾に破壊的に連結します。
@param other_arrays 自身と連結したい配列を指定します。
[ "a", "b" ].concat( ["c", "d"] ) #=> [ "a", "b", "c", "d" ]
[ "a" ].concat( ["b"], ["c", "d"] ) #=> [ "a", "b", "c", "d" ]
[ "a" ].concat......#=> [ "a" ]
a = [ 1, 2, 3 ]
a.concat( [ 4, 5 ] )
a #=> [ 1, 2, 3, 4, 5 ]
a = [ 1, 2 ]
a.concat(a, a) #=> [1, 2, 1, 2, 1, 2]
see Array#+... -
Array
# concat(other) -> self (4.0) -
配列 other を自身の末尾に破壊的に連結します。
...自身の末尾に破壊的に連結します。
@param other 自身と連結したい配列を指定します。
array = [1, 2]
a = [3, 4]
array.concat a
p array # => [1, 2, 3, 4]
p a # => [3, 4] # こちらは変わらない... -
Array
# cycle(n=nil) -> Enumerator (4.0) -
配列の全要素を n 回(nilの場合は無限に)繰り返しブロックを呼びだします。
配列の全要素を n 回(nilの場合は無限に)繰り返しブロックを呼びだします。
ブロックを省略した場合は、以上のような繰り返しを行う
Enumerator
を返します。
@param n 繰り返したい回数を整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
黙の型変換を試みます。
@raise TypeError 引数に整数以外の(暗黙の型変換が行えない)オブジェクトを
指定した場合に発生します。
例:
a = ["a", "b", "c"]
a.cycle {... -
Array
# cycle(n=nil) {|obj| block } -> nil (4.0) -
配列の全要素を n 回(nilの場合は無限に)繰り返しブロックを呼びだします。
配列の全要素を n 回(nilの場合は無限に)繰り返しブロックを呼びだします。
ブロックを省略した場合は、以上のような繰り返しを行う
Enumerator
を返します。
@param n 繰り返したい回数を整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
黙の型変換を試みます。
@raise TypeError 引数に整数以外の(暗黙の型変換が行えない)オブジェクトを
指定した場合に発生します。
例:
a = ["a", "b", "c"]
a.cycle {... -
Array
# delete(val) -> object | nil (4.0) -
指定された val と == で等しい要素を自身からすべて取り除きます。 等しい要素が見つかった場合は最後に見つかった要素を、 そうでない場合には nil を返します。
...クを評価してその結果を返します。
@param val 自身から削除したい値を指定します。
array = [1, 2, 3, 2, 1]
p array.delete(2) #=> 2
p array #=> [1, 3, 1]
# ブロックなしの引数に nil を渡すとその戻り値から削除... -
Array
# delete(val) { . . . } -> object (4.0) -
指定された val と == で等しい要素を自身からすべて取り除きます。 等しい要素が見つかった場合は最後に見つかった要素を、 そうでない場合には nil を返します。
...クを評価してその結果を返します。
@param val 自身から削除したい値を指定します。
array = [1, 2, 3, 2, 1]
p array.delete(2) #=> 2
p array #=> [1, 3, 1]
# ブロックなしの引数に nil を渡すとその戻り値から削除... -
Array
# delete _ at(pos) -> object | nil (4.0) -
指定された位置 pos にある要素を取り除きそれを返します。 pos が範囲外であったら nil を返します。
...指定された位置 pos にある要素を取り除きそれを返します。
pos が範囲外であったら nil を返します。
Array#at と同様に負のインデックスで末尾から位置を指定するこ
とができます。
@param pos 削除したい要素のインデックス......暗黙の型変換を試みます。
@raise TypeError 引数に整数以外の(暗黙の型変換が行えない)オブジェクトを
指定した場合に発生します。
array = [0, 1, 2, 3, 4]
array.delete_at 2
p array #=> [0, 1, 3, 4]... -
Array
# delete _ if -> Enumerator (4.0) -
要素を順番にブロックに渡して評価し、その結果が真になった要素をすべて削除します。 delete_if は常に self を返しますが、reject! は要素が 1 つ以上削除されれば self を、 1 つも削除されなければ nil を返します。
要素を順番にブロックに渡して評価し、その結果が真になった要素をすべて削除します。
delete_if は常に self を返しますが、reject! は要素が 1 つ以上削除されれば self を、
1 つも削除されなければ nil を返します。
ブロックが与えられなかった場合は、自身と reject! から生成した
Enumerator オブジェクトを返します。
返された Enumerator オブジェクトの each メソッドには、
もとの配列に対して副作用があることに注意してください。
例:
a = [0, 1, 2, 3, 4, 5]
a.delete_if{|x| x ... -
Array
# delete _ if {|x| . . . } -> self (4.0) -
要素を順番にブロックに渡して評価し、その結果が真になった要素をすべて削除します。 delete_if は常に self を返しますが、reject! は要素が 1 つ以上削除されれば self を、 1 つも削除されなければ nil を返します。
要素を順番にブロックに渡して評価し、その結果が真になった要素をすべて削除します。
delete_if は常に self を返しますが、reject! は要素が 1 つ以上削除されれば self を、
1 つも削除されなければ nil を返します。
ブロックが与えられなかった場合は、自身と reject! から生成した
Enumerator オブジェクトを返します。
返された Enumerator オブジェクトの each メソッドには、
もとの配列に対して副作用があることに注意してください。
例:
a = [0, 1, 2, 3, 4, 5]
a.delete_if{|x| x ... -
Array
# dig(idx , . . . ) -> object | nil (4.0) -
self 以下のネストしたオブジェクトを dig メソッドで再帰的に参照して返し ます。途中のオブジェクトが nil であった場合は nil を返します。
self 以下のネストしたオブジェクトを dig メソッドで再帰的に参照して返し
ます。途中のオブジェクトが nil であった場合は nil を返します。
@param idx インデックスを整数で任意個指定します。
a = [[1, [2, 3]]]
a.dig(0, 1, 1) # => 3
a.dig(1, 2, 3) # => nil
a.dig(0, 0, 0) # => TypeError: Integer does not have #dig method
... -
Array
# dup -> Array (4.0) -
レシーバと同じ内容を持つ新しい配列を返します。
レシーバと同じ内容を持つ新しい配列を返します。
clone は frozen tainted singleton-class の情報も含めてコピーしますが、
dup は内容だけをコピーします。
またどちらのメソッドも要素それ自体のコピーはしません。
つまり「浅い(shallow)」コピーを行います。
ary = ['string']
p ary #=> ["string"]
copy = ary.dup
p copy #=> ["string"]
ary[0][0...3] = ''
p ar... -
Array
# each -> Enumerator (4.0) -
各要素に対してブロックを評価します。
...対してブロックを評価します。
ブロックが与えられなかった場合は、自身と each から生成した
Enumerator オブジェクトを返します。
[1, 2, 3].each do |i|
puts i
end
#=> 1
2
3
@see Array#each_index, Array#reverse_each... -
Array
# each {|item| . . . . } -> self (4.0) -
各要素に対してブロックを評価します。
...対してブロックを評価します。
ブロックが与えられなかった場合は、自身と each から生成した
Enumerator オブジェクトを返します。
[1, 2, 3].each do |i|
puts i
end
#=> 1
2
3
@see Array#each_index, Array#reverse_each... -
Array
# each _ index -> Enumerator (4.0) -
各要素のインデックスに対してブロックを評価します。
...クスに対してブロックを評価します。
以下と同じです。
(0 ... ary.size).each {|index| .... }
ブロックが与えられなかった場合は、自身と each_index から生成した
Enumerator オブジェクトを返します。
@see Array#each, Array#reverse_each... -
Array
# each _ index {|index| . . . . } -> self (4.0) -
各要素のインデックスに対してブロックを評価します。
...クスに対してブロックを評価します。
以下と同じです。
(0 ... ary.size).each {|index| .... }
ブロックが与えられなかった場合は、自身と each_index から生成した
Enumerator オブジェクトを返します。
@see Array#each, Array#reverse_each... -
Array
# empty? -> bool (4.0) -
自身の要素の数が 0 の時に真を返します。そうでない場合に false を返します。
自身の要素の数が 0 の時に真を返します。そうでない場合に false を返します。
p [].empty? #=> true
p [1, 2, 3].empty? #=> false -
Array
# eql?(other) -> bool (4.0) -
自身と other の各要素をそれぞれ順に Object#eql? で比較して、全要素が等しければ真を返 します。そうでない場合に false を返します。
自身と other の各要素をそれぞれ順に
Object#eql? で比較して、全要素が等しければ真を返
します。そうでない場合に false を返します。
@param other 自身と比較したい配列を指定します。
["a", "b", "c"].eql? ["a", "b", "c"] #=> true
["a", "b", "c"].eql? ["a", "c", "b"] #=> false
["a", "b", 1].eql? ["a", "b", 1.0] #=> false (1.eql?(1.0) が false なので)
... -
Array
# fetch(nth) -> object (4.0) -
nth 番目の要素を返します。
...nth 番目の要素を返します。
Array#[] (nth) とは nth 番目の要素が存在しない場合の振舞いが異
なります。最初の形式では、例外 IndexError が発生します。
二番目の形式では、引数 ifnone を返します。
三番目の形式では、ブロッ......った場合に発生します。
例:
a = [1, 2, 3, 4, 5]
begin
p a.fetch(10)
rescue IndexError => err
puts err #=> index 10 out of array
end
p a.fetch(10, 999) #=> 999
result = a.fetch(10){|nth|
print "#{nth} はありません。\n"
999
}
p result #=> 999... -
Array
# fetch(nth) {|nth| . . . } -> object (4.0) -
nth 番目の要素を返します。
...nth 番目の要素を返します。
Array#[] (nth) とは nth 番目の要素が存在しない場合の振舞いが異
なります。最初の形式では、例外 IndexError が発生します。
二番目の形式では、引数 ifnone を返します。
三番目の形式では、ブロッ......った場合に発生します。
例:
a = [1, 2, 3, 4, 5]
begin
p a.fetch(10)
rescue IndexError => err
puts err #=> index 10 out of array
end
p a.fetch(10, 999) #=> 999
result = a.fetch(10){|nth|
print "#{nth} はありません。\n"
999
}
p result #=> 999... -
Array
# fetch(nth , ifnone) -> object (4.0) -
nth 番目の要素を返します。
...nth 番目の要素を返します。
Array#[] (nth) とは nth 番目の要素が存在しない場合の振舞いが異
なります。最初の形式では、例外 IndexError が発生します。
二番目の形式では、引数 ifnone を返します。
三番目の形式では、ブロッ......った場合に発生します。
例:
a = [1, 2, 3, 4, 5]
begin
p a.fetch(10)
rescue IndexError => err
puts err #=> index 10 out of array
end
p a.fetch(10, 999) #=> 999
result = a.fetch(10){|nth|
print "#{nth} はありません。\n"
999
}
p result #=> 999... -
Array
# fill {|index| . . . } -> self (4.0) -
すべての要素に val をセットします。
すべての要素に val をセットします。
このメソッドが val のコピーでなく val 自身をセットする
ことに注意してください。
val の代わりにブロックを指定するとブロックの評価結果を値とします。
@param val 自身にセットしたいオブジェクトを指定します。
a = [0, 1, 2, 3, 4]
a.fill(10)
p a #=> [10, 10, 10, 10, 10]
a = [0, 1, 2, 3, 4]
a.fill("a")
p a #=> ["a", "a", "a", "a", "a"]
a[0].capitalize!... -
Array
# fill(range) {|index| . . . } -> self (4.0) -
配列の指定された範囲すべてに val をセットします。
配列の指定された範囲すべてに val をセットします。
範囲の始点が自身の末尾を越える時には配列の長さを自動的に拡張し、拡張した領域を nil で初期化します。
範囲の終点が自身の末尾を越える時は長さを自動的に拡張し、拡張した部分を val で初期化します。
このメソッドが val のコピーでなく val 自身をセットすることに注意してください。
a = [0, 1, 2]
a.fill("x", 5..10)
p a #=> [0, 1, 2, nil, nil, "x", "x", "x", "x", "x", "x"]
val の代わりにブロックを指定するとブロックの評... -
Array
# fill(start , length = nil) {|index| . . . } -> self (4.0) -
配列の指定された範囲すべてに val をセットします。
配列の指定された範囲すべてに val をセットします。
範囲の始点が自身の末尾を越える時には配列の長さを自動的に拡張し、拡張した領域を nil で初期化します。
範囲の終点が自身の末尾を越える時は長さを自動的に拡張し、拡張した部分を val で初期化します。
このメソッドが val のコピーでなく val 自身をセットすることに注意してください。
a = [0, 1, 2]
a.fill("x", 5..10)
p a #=> [0, 1, 2, nil, nil, "x", "x", "x", "x", "x", "x"]
val の代わりにブロックを指定するとブロックの評... -
Array
# fill(val) -> self (4.0) -
すべての要素に val をセットします。
すべての要素に val をセットします。
このメソッドが val のコピーでなく val 自身をセットする
ことに注意してください。
val の代わりにブロックを指定するとブロックの評価結果を値とします。
@param val 自身にセットしたいオブジェクトを指定します。
a = [0, 1, 2, 3, 4]
a.fill(10)
p a #=> [10, 10, 10, 10, 10]
a = [0, 1, 2, 3, 4]
a.fill("a")
p a #=> ["a", "a", "a", "a", "a"]
a[0].capitalize!... -
Array
# fill(val , range) -> self (4.0) -
配列の指定された範囲すべてに val をセットします。
配列の指定された範囲すべてに val をセットします。
範囲の始点が自身の末尾を越える時には配列の長さを自動的に拡張し、拡張した領域を nil で初期化します。
範囲の終点が自身の末尾を越える時は長さを自動的に拡張し、拡張した部分を val で初期化します。
このメソッドが val のコピーでなく val 自身をセットすることに注意してください。
a = [0, 1, 2]
a.fill("x", 5..10)
p a #=> [0, 1, 2, nil, nil, "x", "x", "x", "x", "x", "x"]
val の代わりにブロックを指定するとブロックの評... -
Array
# fill(val , start , length = nil) -> self (4.0) -
配列の指定された範囲すべてに val をセットします。
配列の指定された範囲すべてに val をセットします。
範囲の始点が自身の末尾を越える時には配列の長さを自動的に拡張し、拡張した領域を nil で初期化します。
範囲の終点が自身の末尾を越える時は長さを自動的に拡張し、拡張した部分を val で初期化します。
このメソッドが val のコピーでなく val 自身をセットすることに注意してください。
a = [0, 1, 2]
a.fill("x", 5..10)
p a #=> [0, 1, 2, nil, nil, "x", "x", "x", "x", "x", "x"]
val の代わりにブロックを指定するとブロックの評... -
Array
# find _ index -> Enumerator (4.0) -
条件に一致する最初の要素の位置を返します。
...の要素の位置を返します。
一つも真にならなかった場合は nil を返します。
p [0, 1, 0, 1, 0].index {|v| v > 0} #=> 1
引数、ブロックのどちらも与えられなかった場合は、
Enumerator のインスタンスを返します。
@see Array#rindex... -
Array
# find _ index {|item| . . . } -> Integer | nil (4.0) -
条件に一致する最初の要素の位置を返します。
...の要素の位置を返します。
一つも真にならなかった場合は nil を返します。
p [0, 1, 0, 1, 0].index {|v| v > 0} #=> 1
引数、ブロックのどちらも与えられなかった場合は、
Enumerator のインスタンスを返します。
@see Array#rindex... -
Array
# find _ index(val) -> Integer | nil (4.0) -
条件に一致する最初の要素の位置を返します。
...の要素の位置を返します。
一つも真にならなかった場合は nil を返します。
p [0, 1, 0, 1, 0].index {|v| v > 0} #=> 1
引数、ブロックのどちらも与えられなかった場合は、
Enumerator のインスタンスを返します。
@see Array#rindex... -
Array
# first -> object | nil (4.0) -
配列の先頭の要素を返します。要素がなければ nil を返します。
...先頭の要素を返します。要素がなければ nil を返します。
p [0, 1, 2].first #=> 0
p [].first #=> nil
@see Array#last... -
Array
# first(n) -> Array (4.0) -
先頭の n 要素を配列で返します。n は 0 以上でなければなりません。
...合に発生します。
@raise ArgumentError n が負値の場合発生します。
ary = [0, 1, 2]
p ary.first(0)
p ary.first(1)
p ary.first(2)
p ary.first(3)
p ary.first(4)
# => []
[0]
[0, 1]
[0, 1, 2]
[0, 1, 2]
@see Array#last... -
Array
# flatten!(lv = nil) -> self | nil (4.0) -
flatten は自身を再帰的に平坦化した配列を生成して返します。flatten! は 自身を再帰的かつ破壊的に平坦化し、平坦化が行われた場合は self をそうでない 場合は nil を返します。 lv が指定された場合、lv の深さまで再帰的に平坦化します。
flatten は自身を再帰的に平坦化した配列を生成して返します。flatten! は
自身を再帰的かつ破壊的に平坦化し、平坦化が行われた場合は self をそうでない
場合は nil を返します。
lv が指定された場合、lv の深さまで再帰的に平坦化します。
@param lv 平坦化の再帰の深さを整数で指定します。nil を指定した場合、再
帰の深さの制限無しに平坦化します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
黙の型変換を試みます。
@raise TypeError 引数に整数以外の(... -
Array
# flatten(lv = nil) -> Array (4.0) -
flatten は自身を再帰的に平坦化した配列を生成して返します。flatten! は 自身を再帰的かつ破壊的に平坦化し、平坦化が行われた場合は self をそうでない 場合は nil を返します。 lv が指定された場合、lv の深さまで再帰的に平坦化します。
flatten は自身を再帰的に平坦化した配列を生成して返します。flatten! は
自身を再帰的かつ破壊的に平坦化し、平坦化が行われた場合は self をそうでない
場合は nil を返します。
lv が指定された場合、lv の深さまで再帰的に平坦化します。
@param lv 平坦化の再帰の深さを整数で指定します。nil を指定した場合、再
帰の深さの制限無しに平坦化します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
黙の型変換を試みます。
@raise TypeError 引数に整数以外の(... -
Array
# hash -> Integer (4.0) -
自身のハッシュ値を整数で返します。ハッシュ値は自身の各要素のハッシュ値から 計算されます。Array#eql? で比較して等しい配列同士は同じハッシュ値を返します。
...自身のハッシュ値を整数で返します。ハッシュ値は自身の各要素のハッシュ値から
計算されます。Array#eql? で比較して等しい配列同士は同じハッシュ値を返します。
a = ["a", "b", 1]
a.hash #=> 321
b = a.dup
b.hash... -
Array
# include?(val) -> bool (4.0) -
配列が val と == で等しい要素を持つ時に真を返します。
配列が val と == で等しい要素を持つ時に真を返します。
@param val オブジェクトを指定します。
a = [ "a", "b", "c" ]
a.include?("b") #=> true
a.include?("z") #=> false -
Array
# index -> Enumerator (4.0) -
条件に一致する最初の要素の位置を返します。
...の要素の位置を返します。
一つも真にならなかった場合は nil を返します。
p [0, 1, 0, 1, 0].index {|v| v > 0} #=> 1
引数、ブロックのどちらも与えられなかった場合は、
Enumerator のインスタンスを返します。
@see Array#rindex... -
Array
# index {|item| . . . } -> Integer | nil (4.0) -
条件に一致する最初の要素の位置を返します。
...の要素の位置を返します。
一つも真にならなかった場合は nil を返します。
p [0, 1, 0, 1, 0].index {|v| v > 0} #=> 1
引数、ブロックのどちらも与えられなかった場合は、
Enumerator のインスタンスを返します。
@see Array#rindex... -
Array
# index(val) -> Integer | nil (4.0) -
条件に一致する最初の要素の位置を返します。
...の要素の位置を返します。
一つも真にならなかった場合は nil を返します。
p [0, 1, 0, 1, 0].index {|v| v > 0} #=> 1
引数、ブロックのどちらも与えられなかった場合は、
Enumerator のインスタンスを返します。
@see Array#rindex... -
Array
# insert(nth , *val) -> self (4.0) -
インデックス nth の要素の直前(nth が負の場合は直後)に第 2 引数以降の値を挿入します。 引数 val を一つも指定しなければ何もしません。
インデックス nth の要素の直前(nth が負の場合は直後)に第 2 引数以降の値を挿入します。
引数 val を一つも指定しなければ何もしません。
@param nth val を挿入する位置を整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる
暗黙の型変換を試みます。
@param val 自身に挿入するオブジェクトを指定します。
@raise TypeError 引数に整数以外の(暗黙の型変換が行えない)オブジェクトを
指定した場合に発生します。
ary... -
Array
# inspect -> String (4.0) -
自身の情報を人間に読みやすい文字列にして返します。
自身の情報を人間に読みやすい文字列にして返します。
[1, 2, 3, 4].to_s # => "[1, 2, 3, 4]"
[1, 2, 3, 4].inspect # => "[1, 2, 3, 4]" -
Array
# join(sep = $ , ) -> String (4.0) -
配列の要素を文字列 sep を間に挟んで連結した文字列を返します。
...になります。
ary = [1,2,3]
ary.push ary
p ary # => [1, 2, 3, [...]]
p ary.join # => ArgumentError: recursive array join
@param sep 間に挟む文字列を指定します。nil のときは空文字列を使います。
文字列以外のオブジェ......ジェクト
を指定した場合に発生します。
@raise ArgumentError 配列要素が自身を含むような無限にネストした配列に対
して join を呼んだ場合に発生します。
[1, 2, 3].join('-') #=> "1-2-3"
@see Array#*, $,... -
Array
# keep _ if -> Enumerator (4.0) -
ブロックが false を返した要素を削除します。
...false を返した要素を削除します。
a = %w{ a b c d e f }
a.keep_if {|v| v =~ /[aeiou]/} # => ["a", "e"]
a # => ["a", "e"]
Array#select! と同様に自身を上書きしますが、削除する要素がなかっ
た場合には修正を行いません。
a = %w{ a b c d......e f }
a.keep_if {|v| v =~ /[a-z]/ } # => ["a", "b", "c", "d", "e", "f"]
a # => ["a", "b", "c", "d", "e", "f"]
ブロックが与えられなかった場合は、自身と keep_if から生成した
Enumerator オブジェクトを返します。
@see Array#select!... -
Array
# keep _ if {|item| . . . } -> self (4.0) -
ブロックが false を返した要素を削除します。
...false を返した要素を削除します。
a = %w{ a b c d e f }
a.keep_if {|v| v =~ /[aeiou]/} # => ["a", "e"]
a # => ["a", "e"]
Array#select! と同様に自身を上書きしますが、削除する要素がなかっ
た場合には修正を行いません。
a = %w{ a b c d......e f }
a.keep_if {|v| v =~ /[a-z]/ } # => ["a", "b", "c", "d", "e", "f"]
a # => ["a", "b", "c", "d", "e", "f"]
ブロックが与えられなかった場合は、自身と keep_if から生成した
Enumerator オブジェクトを返します。
@see Array#select!... -
Array
# last -> object | nil (4.0) -
配列の末尾の要素を返します。配列が空のときは nil を返します。
...末尾の要素を返します。配列が空のときは nil を返します。
p [0, 1, 2].last #=> 2
p [].last #=> nil
@see Array#first... -
Array
# last(n) -> Array (4.0) -
末尾の n 要素を配列で返します。n は 0 以上でなければなりません。
...場合に発生します。
@raise ArgumentError n が負値の場合発生します。
ary = [0, 1, 2]
p ary.last(0)
p ary.last(1)
p ary.last(2)
p ary.last(3)
p ary.last(4)
# => []
[2]
[1, 2]
[0, 1, 2]
[0, 1, 2]
@see Array#first... -
Array
# length -> Integer (4.0) -
配列の長さを返します。配列が空のときは 0 を返します。
配列の長さを返します。配列が空のときは 0 を返します。
p [1, nil, 3, nil].size #=> 4 -
Array
# map! -> Enumerator (4.0) -
各要素を順番にブロックに渡して評価し、その結果で要素を 置き換えます。
各要素を順番にブロックに渡して評価し、その結果で要素を
置き換えます。
ブロックが与えられなかった場合は、自身と map! から生成した
Enumerator オブジェクトを返します。
例:
ary = [1, 2, 3]
ary.map! {|i| i * 3 }
p ary #=> [3, 6, 9]
ary = [1, 2, 3]
e = ary.map!
e.each{ 1 }
p ary #=> [1, 1, 1]
@see Enumerable#collect, Enumerator -
Array
# map! {|item| . . } -> self (4.0) -
各要素を順番にブロックに渡して評価し、その結果で要素を 置き換えます。
各要素を順番にブロックに渡して評価し、その結果で要素を
置き換えます。
ブロックが与えられなかった場合は、自身と map! から生成した
Enumerator オブジェクトを返します。
例:
ary = [1, 2, 3]
ary.map! {|i| i * 3 }
p ary #=> [3, 6, 9]
ary = [1, 2, 3]
e = ary.map!
e.each{ 1 }
p ary #=> [1, 1, 1]
@see Enumerable#collect, Enumerator -
Array
# max -> object | nil (4.0) -
最大の要素、もしくは最大の n 要素を返します。 全要素が互いに <=> メソッドで比較できることを仮定しています。
最大の要素、もしくは最大の n 要素を返します。
全要素が互いに <=> メソッドで比較できることを仮定しています。
引数を指定しない形式では要素が存在しなければ nil を返します。
引数を指定する形式では、空の配列を返します。
例:
[].max #=> nil
[].max(1) #=> []
[2, 5, 3].max #=> 5
[2, 5, 3].max(2) #=> [5, 3]
@param n 取得する要素数。
@see Enumerable#max -
Array
# max {|a , b| . . . } -> object | nil (4.0) -
ブロックの評価結果で各要素の大小判定を行い、最大の要素、もしくは最小の n 要素を返します。 引数を指定しない形式では要素が存在しなければ nil を返します。 引数を指定する形式では、空の配列を返します。
ブロックの評価結果で各要素の大小判定を行い、最大の要素、もしくは最小の
n 要素を返します。
引数を指定しない形式では要素が存在しなければ nil を返します。
引数を指定する形式では、空の配列を返します。
ブロックの値は、a > b のとき正、
a == b のとき 0、a < b のとき負の整数を、期待しています。
例:
[].max {|a, b| a <=> b } #=> nil
[].max(1) {|a, b| a <=> b } #=> []
ary = %w(albatross dog horse)
ary.max {|a, b| a.lengt... -
Array
# max(n) -> Array (4.0) -
最大の要素、もしくは最大の n 要素を返します。 全要素が互いに <=> メソッドで比較できることを仮定しています。
最大の要素、もしくは最大の n 要素を返します。
全要素が互いに <=> メソッドで比較できることを仮定しています。
引数を指定しない形式では要素が存在しなければ nil を返します。
引数を指定する形式では、空の配列を返します。
例:
[].max #=> nil
[].max(1) #=> []
[2, 5, 3].max #=> 5
[2, 5, 3].max(2) #=> [5, 3]
@param n 取得する要素数。
@see Enumerable#max -
Array
# max(n) {|a , b| . . . } -> Array (4.0) -
ブロックの評価結果で各要素の大小判定を行い、最大の要素、もしくは最小の n 要素を返します。 引数を指定しない形式では要素が存在しなければ nil を返します。 引数を指定する形式では、空の配列を返します。
ブロックの評価結果で各要素の大小判定を行い、最大の要素、もしくは最小の
n 要素を返します。
引数を指定しない形式では要素が存在しなければ nil を返します。
引数を指定する形式では、空の配列を返します。
ブロックの値は、a > b のとき正、
a == b のとき 0、a < b のとき負の整数を、期待しています。
例:
[].max {|a, b| a <=> b } #=> nil
[].max(1) {|a, b| a <=> b } #=> []
ary = %w(albatross dog horse)
ary.max {|a, b| a.lengt... -
Array
# min -> object | nil (4.0) -
最小の要素、もしくは最小の n 要素を返します。 全要素が互いに <=> メソッドで比較できることを仮定しています。
最小の要素、もしくは最小の n 要素を返します。
全要素が互いに <=> メソッドで比較できることを仮定しています。
引数を指定しない形式では要素が存在しなければ nil を返します。
引数を指定する形式では、空の配列を返します。
例:
[].min #=> nil
[].min(1) #=> []
[2, 5, 3].min #=> 2
[2, 5, 3].min(2) #=> [2, 3]
@param n 取得する要素数。
@see Enumerable#min -
Array
# min {|a , b| . . . } -> object | nil (4.0) -
ブロックの評価結果で各要素の大小判定を行い、最小の要素、もしくは最小の n 要素を返します。 引数を指定しない形式では要素が存在しなければ nil を返します。 引数を指定する形式では、空の配列を返します。
ブロックの評価結果で各要素の大小判定を行い、最小の要素、もしくは最小の
n 要素を返します。
引数を指定しない形式では要素が存在しなければ nil を返します。
引数を指定する形式では、空の配列を返します。
ブロックの値は、a > b のとき正、a == b のとき 0、
a < b のとき負の整数を、期待しています。
例:
[].min {|a, b| a <=> b } #=> nil
[].min(1) {|a, b| a <=> b } #=> []
ary = %w(albatross dog horse)
ary.min {|a, b| a.lengt... -
Array
# min(n) -> Array (4.0) -
最小の要素、もしくは最小の n 要素を返します。 全要素が互いに <=> メソッドで比較できることを仮定しています。
最小の要素、もしくは最小の n 要素を返します。
全要素が互いに <=> メソッドで比較できることを仮定しています。
引数を指定しない形式では要素が存在しなければ nil を返します。
引数を指定する形式では、空の配列を返します。
例:
[].min #=> nil
[].min(1) #=> []
[2, 5, 3].min #=> 2
[2, 5, 3].min(2) #=> [2, 3]
@param n 取得する要素数。
@see Enumerable#min -
Array
# min(n) {|a , b| . . . } -> Array (4.0) -
ブロックの評価結果で各要素の大小判定を行い、最小の要素、もしくは最小の n 要素を返します。 引数を指定しない形式では要素が存在しなければ nil を返します。 引数を指定する形式では、空の配列を返します。
ブロックの評価結果で各要素の大小判定を行い、最小の要素、もしくは最小の
n 要素を返します。
引数を指定しない形式では要素が存在しなければ nil を返します。
引数を指定する形式では、空の配列を返します。
ブロックの値は、a > b のとき正、a == b のとき 0、
a < b のとき負の整数を、期待しています。
例:
[].min {|a, b| a <=> b } #=> nil
[].min(1) {|a, b| a <=> b } #=> []
ary = %w(albatross dog horse)
ary.min {|a, b| a.lengt... -
Array
# pack(template) -> String (4.0) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
...ます。
指定した場合は返値も指定した文字列オブジェクトになります。
以下にあげるものは、Array#pack、String#unpack
のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字
を続けることが......endian int32_t
l!<: little endian signed long
//}
=== 各テンプレート文字の説明
説明中、Array#pack と String#unpack で違いのあるものは `/' で区切って
「Array#pack の説明 / String#unpack の説明」としています。
: a
ASCII文字列(null文字を詰... -
Array
# pack(template , buffer: String . new) -> String (4.0) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
...ます。
指定した場合は返値も指定した文字列オブジェクトになります。
以下にあげるものは、Array#pack、String#unpack
のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字
を続けることが......endian int32_t
l!<: little endian signed long
//}
=== 各テンプレート文字の説明
説明中、Array#pack と String#unpack で違いのあるものは `/' で区切って
「Array#pack の説明 / String#unpack の説明」としています。
: a
ASCII文字列(null文字を詰... -
Array
# permutation(n = self . length) -> Enumerator (4.0) -
サイズ n の順列をすべて生成し,それを引数としてブロックを実行します。
...1,2],[1,3],[2,1],[2,3],[3,1],[3,2]]
a.permutation(3).to_a #=> [[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]
a.permutation(0).to_a #=> [[]]: one permutation of length 0
a.permutation(4).to_a #=> [] : no permutations of length 4
@see Array#combination, Array#repeated_permutation... -
Array
# permutation(n = self . length) { |p| block } -> Array (4.0) -
サイズ n の順列をすべて生成し,それを引数としてブロックを実行します。
...1,2],[1,3],[2,1],[2,3],[3,1],[3,2]]
a.permutation(3).to_a #=> [[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]
a.permutation(0).to_a #=> [[]]: one permutation of length 0
a.permutation(4).to_a #=> [] : no permutations of length 4
@see Array#combination, Array#repeated_permutation... -
Array
# pop -> object | nil (4.0) -
自身の末尾から要素を取り除いてそれを返します。 引数を指定した場合はその個数だけ取り除き、それを配列で返します。
...例:
array = [1, [2, 3], 4]
p array.pop # => 4
p array.pop # => [2, 3]
p array # => [1]
p array.pop # => 1
p array.pop # => nil
p array # => []
array = [1, 2, 3]
p array.pop(2) #=> [2, 3]
p array......#=> [1]
@see Array#push, Array#shift, Array#unshift... -
Array
# pop(n) -> Array (4.0) -
自身の末尾から要素を取り除いてそれを返します。 引数を指定した場合はその個数だけ取り除き、それを配列で返します。
...例:
array = [1, [2, 3], 4]
p array.pop # => 4
p array.pop # => [2, 3]
p array # => [1]
p array.pop # => 1
p array.pop # => nil
p array # => []
array = [1, 2, 3]
p array.pop(2) #=> [2, 3]
p array......#=> [1]
@see Array#push, Array#shift, Array#unshift... -
Array
# product(*lists) -> Array (4.0) -
レシーバの配列と引数で与えられた配列(複数可)のそれぞれから要素を1 個ずつとって配列とし,それらのすべての配列を要素とする配列を返します。
レシーバの配列と引数で与えられた配列(複数可)のそれぞれから要素を1
個ずつとって配列とし,それらのすべての配列を要素とする配列を返します。
返される配列の長さは,レシーバと引数で与えられた配列の長さのすべての積にな
ります。
@param lists 配列。複数指定可能。
例:
[1,2,3].product([4,5]) # => [[1,4],[1,5],[2,4],[2,5],[3,4],[3,5]]
[1,2].product([1,2]) # => [[1,1],[1,2],[2,1],[2,2]]
[1,2].product([3... -
Array
# product(*lists) { |e| . . . } -> self (4.0) -
レシーバの配列と引数で与えられた配列(複数可)のそれぞれから要素を1 個ずつとって配列とし,それらのすべての配列を要素とする配列を返します。
レシーバの配列と引数で与えられた配列(複数可)のそれぞれから要素を1
個ずつとって配列とし,それらのすべての配列を要素とする配列を返します。
返される配列の長さは,レシーバと引数で与えられた配列の長さのすべての積にな
ります。
@param lists 配列。複数指定可能。
例:
[1,2,3].product([4,5]) # => [[1,4],[1,5],[2,4],[2,5],[3,4],[3,5]]
[1,2].product([1,2]) # => [[1,1],[1,2],[2,1],[2,2]]
[1,2].product([3... -
Array
# push(*obj) -> self (4.0) -
指定された obj を順番に配列の末尾に追加します。 引数を指定しなければ何もしません。
...何もしません。
@param obj 自身に追加したいオブジェクトを指定します。
array = [1, 2, 3]
array.push 4
array.push [5, 6]
array.push 7, 8
p array # => [1, 2, 3, 4, [5, 6], 7, 8]
@see Array#pop, Array#shift, Array#unshift, Array#<<... -
Array
# rassoc(obj) -> Array | nil (4.0) -
自身が配列の配列であると仮定して、要素の配列でインデックス 1 の要素が obj に等しいものを検索し見つかった最初の要素を返 します。該当する要素がなければ nil を返します。
...た最初の要素を返
します。該当する要素がなければ nil を返します。
比較は == 演算子を使って行われます。
@param obj 検索するオブジェクトを指定します。
a = [[15,1], [25,2], [35,3]]
p a.rassoc(2) # => [25, 2]
@see Array#assoc... -
Array
# reject! -> Enumerator (4.0) -
要素を順番にブロックに渡して評価し、その結果が真になった要素をすべて削除します。 delete_if は常に self を返しますが、reject! は要素が 1 つ以上削除されれば self を、 1 つも削除されなければ nil を返します。
要素を順番にブロックに渡して評価し、その結果が真になった要素をすべて削除します。
delete_if は常に self を返しますが、reject! は要素が 1 つ以上削除されれば self を、
1 つも削除されなければ nil を返します。
ブロックが与えられなかった場合は、自身と reject! から生成した
Enumerator オブジェクトを返します。
返された Enumerator オブジェクトの each メソッドには、
もとの配列に対して副作用があることに注意してください。
例:
a = [0, 1, 2, 3, 4, 5]
a.delete_if{|x| x ... -
Array
# reject! {|x| . . . } -> self | nil (4.0) -
要素を順番にブロックに渡して評価し、その結果が真になった要素をすべて削除します。 delete_if は常に self を返しますが、reject! は要素が 1 つ以上削除されれば self を、 1 つも削除されなければ nil を返します。
要素を順番にブロックに渡して評価し、その結果が真になった要素をすべて削除します。
delete_if は常に self を返しますが、reject! は要素が 1 つ以上削除されれば self を、
1 つも削除されなければ nil を返します。
ブロックが与えられなかった場合は、自身と reject! から生成した
Enumerator オブジェクトを返します。
返された Enumerator オブジェクトの each メソッドには、
もとの配列に対して副作用があることに注意してください。
例:
a = [0, 1, 2, 3, 4, 5]
a.delete_if{|x| x ... -
Array
# repeated _ combination(n) -> Enumerator (4.0) -
サイズ n の重複組み合わせをすべて生成し、それを引数としてブロックを実行 します。
...# [1,1,3,3],[1,2,2,2],[1,2,2,3],[1,2,3,3],[1,3,3,3],
# [2,2,2,2],[2,2,2,3],[2,2,3,3],[2,3,3,3],[3,3,3,3]]
a.repeated_combination(0).to_a #=> [[]] # one combination of length 0
@see Array#repeated_permutation, Array#combination... -
Array
# repeated _ combination(n) { |c| . . . } -> Array (4.0) -
サイズ n の重複組み合わせをすべて生成し、それを引数としてブロックを実行 します。
...# [1,1,3,3],[1,2,2,2],[1,2,2,3],[1,2,3,3],[1,3,3,3],
# [2,2,2,2],[2,2,2,3],[2,2,3,3],[2,3,3,3],[3,3,3,3]]
a.repeated_combination(0).to_a #=> [[]] # one combination of length 0
@see Array#repeated_permutation, Array#combination... -
Array
# repeated _ permutation(n) -> Enumerator (4.0) -
サイズ n の重複順列をすべて生成し,それを引数としてブロックを実行します。
...[1,1],[1,2],[2,1],[2,2]]
a.repeated_permutation(3).to_a #=> [[1,1,1],[1,1,2],[1,2,1],[1,2,2],
# [2,1,1],[2,1,2],[2,2,1],[2,2,2]]
a.repeated_permutation(0).to_a #=> [[]] # one permutation of length 0
@see Array#repeated_combination, Array#permutation...