種類
- インスタンスメソッド (130)
- 特異メソッド (6)
ライブラリ
- ビルトイン (128)
- abbrev (1)
- rexml (1)
- shellwords (1)
-
syck
/ rubytypes (5)
キーワード
- & (1)
- * (2)
- + (1)
- - (1)
- << (1)
- <=> (2)
- == (1)
- [] (4)
- []= (3)
- abbrev (1)
- assoc (1)
- at (1)
- clear (1)
- clone (1)
- collect! (2)
- combination (2)
- compact (1)
- compact! (1)
- concat (1)
- cycle (2)
- dclone (1)
- delete (2)
-
delete
_ at (1) -
delete
_ if (2) - dup (1)
- each (2)
-
each
_ index (2) - empty? (1)
- eql? (1)
- fetch (3)
- fill (6)
- first (2)
- flatten (1)
- flatten! (1)
- hash (1)
- include? (1)
- index (2)
- insert (1)
- inspect (1)
- join (1)
-
keep
_ if (2) - last (2)
- length (1)
- map! (2)
- new (3)
- pack (1)
- permutation (2)
- pop (1)
- product (2)
- push (1)
- rassoc (1)
- reject! (2)
-
repeated
_ combination (2) -
repeated
_ permutation (2) - replace (1)
- reverse (1)
- reverse! (1)
-
reverse
_ each (2) - rindex (2)
- rotate (1)
- rotate! (1)
- sample (2)
- select! (2)
- shelljoin (1)
- shift (1)
- shuffle (1)
- shuffle! (1)
- size (1)
- slice (3)
- slice! (3)
- sort (2)
- sort! (2)
-
sort
_ by! (2) - taguri (1)
- taguri= (1)
-
to
_ a (1) -
to
_ ary (1) -
to
_ s (1) -
to
_ yaml (1) - transpose (1)
-
try
_ convert (1) - uniq (2)
- uniq! (2)
- unshift (1)
-
values
_ at (1) -
yaml
_ initialize (1) -
yaml
_ tag _ subclasses? (1) - zip (2)
- | (1)
検索結果
先頭5件
-
Array
# &(other) -> Array (2) -
集合の積演算です。両方の配列に含まれる要素からなる新しい配列を返 します。重複する要素は取り除かれます。
集合の積演算です。両方の配列に含まれる要素からなる新しい配列を返
します。重複する要素は取り除かれます。
要素の重複判定は、Object#eql? により行われます。
処理の高速化のために内部で Hash を使用しているためです。
@param other 配列を指定します。other が配列でなければ to_ary メソッドによる暗黙の型変換を試みます。
[1, 1, 2, 3] & [1, 3, 4] #=> [1, 3] -
Array
# *(sep) -> String (2) -
指定された sep を間にはさんで連結した文字列を生成して返します。Array#join(sep) と同じ動作をします。
...た sep を間にはさんで連結した文字列を生成して返します。Array#join(sep) と同じ動作をします。
@param sep 文字列を指定します。
p [1,2,3] * ","
# => "1,2,3"
@see Array#join... -
Array
# *(times) -> Array (2) -
配列の内容を times 回 繰り返した新しい配列を作成し返します。 値はコピーされないことに注意してくださいArray。
...配列の内容を times 回 繰り返した新しい配列を作成し返します。
値はコピーされないことに注意してくださいArray。
@param times 繰り返したい回数を整数で指定します。
p [1, 2, 3] * 3 #=> [1, 2, 3, 1, 2, 3, 1, 2, 3]... -
Array
# +(other) -> Array (2) -
自身と other の内容を繋げた配列を生成して返します。
自身と other の内容を繋げた配列を生成して返します。
@param other 自身と繋げたい配列を指定します。other が配列でなければ other.to_ary の戻り値を用います。
@raise TypeError other が配列でなく、さらに other.to_ary の戻り値がまた配列でなかった場合に発生します。
a = [1, 2]
b = [8, 9]
p a + b #=> [1, 2, 8, 9]
p a #=> [1, 2] (変化なし)
p b #=> [8,... -
Array
# -(other) -> Array (2) -
自身から other の要素を取り除いた配列を生成して返します。
自身から other の要素を取り除いた配列を生成して返します。
要素の同一性は Object#eql? により評価されます。
self 中で重複していて、other中に存在していなかった要素は、その重複が保持されます。
@param other 自身から取り除きたい要素の配列を指定します。other が配列でなければ to_ary メソッドによる暗黙の型変換を試みます。
[1, 2, 1, 3, 1, 4, 1, 5] - [2, 3, 4, 5] # => [1, 1, 1, 1]
[1, 2, 1, 3, 1, 4, 1, 5] - [1, 2, 3... -
Array
# <<(obj) -> self (2) -
指定された obj を自身の末尾に破壊的に追加します。Array#push と同じです。
...指定された obj を自身の末尾に破壊的に追加します。Array#push と同じです。
ary = [1]
ary << 2
p ary # [1, 2]
またこのメソッドは self を返すので、以下のように連続して
書くことができます。
ary = [1]
ary << 2 << 3 << 4
p... -
Array
# <=>(other) -> -1 | 0 | 1 (2) -
自身と other の各要素をそれぞれ順に <=> で比較していき、結果が 0 でなかった場合に その値を返します。各要素が等しく、配列の長さも等しい場合には 0 を返します。 各要素が等しいまま一方だけ配列の末尾に達した時、自身の方が短ければ -1 をそうでなければ 1 を返します。
自身と other の各要素をそれぞれ順に <=> で比較していき、結果が 0 でなかった場合に
その値を返します。各要素が等しく、配列の長さも等しい場合には 0 を返します。
各要素が等しいまま一方だけ配列の末尾に達した時、自身の方が短ければ -1 をそうでなければ 1
を返します。
@param other 自身と比較したい配列を指定します。
[ 1, 2, 3 ] <=> [ 1, 3, 2 ] #=> -1
[ 1, 2, 3 ] <=> [ 1, 2 ] #=> 1 -
Array
# <=>(other) -> -1 | 0 | 1 | nil (2) -
自身と other の各要素をそれぞれ順に <=> で比較していき、結果が 0 でなかった場合に その値を返します。各要素が等しく、配列の長さも等しい場合には 0 を返します。 各要素が等しいまま一方だけ配列の末尾に達した時、自身の方が短ければ -1 をそうでなければ 1 を返します。
自身と other の各要素をそれぞれ順に <=> で比較していき、結果が 0 でなかった場合に
その値を返します。各要素が等しく、配列の長さも等しい場合には 0 を返します。
各要素が等しいまま一方だけ配列の末尾に達した時、自身の方が短ければ -1 をそうでなければ 1
を返します。
@param other 自身と比較したい配列を指定します。
[ 1, 2, 3 ] <=> [ 1, 3, 2 ] #=> -1
[ 1, 2, 3 ] <=> [ 1, 2 ] #=> 1 -
Array
# ==(other) -> bool (2) -
自身と other の各要素をそれぞれ順に == で比較し て、全要素が等しければ true を返します。そうでない場合には false を返します。
自身と other の各要素をそれぞれ順に == で比較し
て、全要素が等しければ true を返します。そうでない場合には false を返します。
@param other 自身と比較したい配列を指定します。 -
Array
# [](nth) -> object | nil (2) -
nth 番目の要素を返します。nth 番目の要素が存在しない時には nil を返します。
nth 番目の要素を返します。nth 番目の要素が存在しない時には nil を返します。
@param nth インデックスを整数で指定します。
先頭の要素が 0 番目になります。nth の値が負の時には末尾からのインデックスと見倣します。末尾
の要素が -1 番目になります。
例:
a = [ "a", "b", "c", "d", "e" ]
a[0] #=> "a"
a[1] #=> "b"
a[-1] #=> "e"
a[-2] #=> "d"
a[10] #=> nil -
Array
# [](range) -> Array | nil (2) -
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 (2) -
start 番目から length 個の要素を含む部分配列を返します。 length が負の時、start が自身の範囲を越えた時には nil を返します。
start 番目から length 個の要素を含む部分配列を返します。
length が負の時、start が自身の範囲を越えた時には nil を返します。
@param start 生成したい部分配列の先頭のインデックスを整数で指定します。
start の値が負の時には末尾からのインデックスと見倣します。末尾の要素が -1 番目になります。
@param length 生成したい部分配列の長さを整数で指定します。
length が start 番目からの配列の長さより長い時には、越えた分の長さは無視されます。
例:
a = ... -
Array
# []=(nth , val) (2) -
nth 番目の要素を val に設定します。nth が配列の範囲を越える時には配列の長さを自動的に拡張し、 拡張した領域を nil で初期化します。
nth 番目の要素を val に設定します。nth が配列の範囲を越える時には配列の長さを自動的に拡張し、
拡張した領域を nil で初期化します。
@param nth インデックスを整数で指定します。
@param val 設定したい要素の値を指定します。
@raise IndexError 指定された nth が自身の始点よりも前を指している場合に発生します。
例:
a = [0, 1, 2, 3, 4, 5]
a[0] = "a"
p a #=> ["a", 1, 2, 3, 4, 5]
a[10] = "x"
p a #=> ["a", 1, 2,... -
Array
# []=(range , val) (2) -
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) (2) -
インデックス 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, ... -
Array
# abbrev(pattern = nil) -> Hash (2) -
self が文字列の配列の場合、self から一意に決まる短縮形を計算し、 短縮形をキー、元の文字列を値とするハッシュを返します。
self が文字列の配列の場合、self から一意に決まる短縮形を計算し、
短縮形をキー、元の文字列を値とするハッシュを返します。
引数に正規表現を指定すると、self のうちそのパターンにマッチしたものから短縮形を計算します。
引数に文字列を指定すると、self のうちその文字列で始まるものから短縮形を計算します。
Abbrev.#abbrev(self, pattern) と同じです。
@param pattern Regexp か String を指定します。
p %w[ruby rubyist].abbrev
#=> {"ruby" => "ruby",
... -
Array
# assoc(key) -> Array | nil (2) -
配列の配列を検索して、その 0 番目の要素が key に等しい最初の 要素を返します。比較は == 演算子を使って行われます。 該当する要素がなければ 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(pos) -> object (2) -
配列の pos の位置にある要素を返します。 self[pos] と同じです。
配列の pos の位置にある要素を返します。
self[pos] と同じです。
@param pos インデックスを整数で指定します。
a = [0, 1, 2, 3]
p a.at(1) #=> 1 -
Array
# clear -> self (2) -
配列の要素をすべて削除して空にします。
配列の要素をすべて削除して空にします。
ary = [1, 2]
ary.clear
p ary #=> [] -
Array
# clone -> Array (2) -
レシーバと同じ内容を持つ新しい配列を返します。
レシーバと同じ内容を持つ新しい配列を返します。
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 (2) -
各要素を順番にブロックに渡して評価し、その結果で要素を 置き換えます。
各要素を順番にブロックに渡して評価し、その結果で要素を
置き換えます。
ブロックが与えられなかった場合は、自身と 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 (2) -
各要素を順番にブロックに渡して評価し、その結果で要素を 置き換えます。
各要素を順番にブロックに渡して評価し、その結果で要素を
置き換えます。
ブロックが与えられなかった場合は、自身と 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 (2) -
サイズ 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 (2) -
サイズ 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 (2) -
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 (2) -
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) -> self (2) -
配列 other を自身の末尾に破壊的に連結します。
...配列 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 (2) -
配列の全要素を n 回(nilの場合は無限に)繰り返しブロックを呼びだします。
配列の全要素を n 回(nilの場合は無限に)繰り返しブロックを呼びだします。
ブロックを省略した場合は、以上のような繰り返しを行う
Enumerator
を返します。
例:
a = ["a", "b", "c"]
a.cycle {|x| puts x } # print, a, b, c, a, b, c,.. forever. -
Array
# cycle(n=nil) {|obj| block } -> nil (2) -
配列の全要素を n 回(nilの場合は無限に)繰り返しブロックを呼びだします。
配列の全要素を n 回(nilの場合は無限に)繰り返しブロックを呼びだします。
ブロックを省略した場合は、以上のような繰り返しを行う
Enumerator
を返します。
例:
a = ["a", "b", "c"]
a.cycle {|x| puts x } # print, a, b, c, a, b, c,.. forever. -
Array
# dclone (2) -
@todo
@todo -
Array
# delete(val) -> object | nil (2) -
指定された val と == で等しい要素を自身からすべて取り除きます。 val と等しい要素が見つかった場合は、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 (2) -
指定された val と == で等しい要素を自身からすべて取り除きます。 val と等しい要素が見つかった場合は、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 (2) -
指定された位置 pos にある要素を取り除きそれを返します。 pos が範囲外であったら nil を返します。
...nil を返します。
Array#at と同様に負のインデックスで末尾から位置を指定するこ
とができます。
@param pos 削除したい要素のインデックスを整数で指定します。
array = [0, 1, 2, 3, 4]
array.delete_at 2
p array #=> [0, 1... -
Array
# delete _ if -> Enumerator (2) -
要素を順番にブロックに渡して評価し、その結果が真になった要素をすべて削除します。 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 (2) -
要素を順番にブロックに渡して評価し、その結果が真になった要素をすべて削除します。 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
# dup -> Array (2) -
レシーバと同じ内容を持つ新しい配列を返します。
レシーバと同じ内容を持つ新しい配列を返します。
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 (2) -
各要素に対してブロックを評価します。
各要素に対してブロックを評価します。
ブロックが与えられなかった場合は、自身と each から生成した
Enumerator オブジェクトを返します。
[1, 2, 3].each do |i|
puts i
end
#=> 1
2
3 -
Array
# each {|item| . . . . } -> self (2) -
各要素に対してブロックを評価します。
各要素に対してブロックを評価します。
ブロックが与えられなかった場合は、自身と each から生成した
Enumerator オブジェクトを返します。
[1, 2, 3].each do |i|
puts i
end
#=> 1
2
3 -
Array
# each _ index -> Enumerator (2) -
各要素のインデックスに対してブロックを評価します。
各要素のインデックスに対してブロックを評価します。
以下と同じです。
(0 ... ary.size).each {|index| .... }
ブロックが与えられなかった場合は、自身と each_index から生成した
Enumerator オブジェクトを返します。 -
Array
# each _ index {|index| . . . . } -> self (2) -
各要素のインデックスに対してブロックを評価します。
各要素のインデックスに対してブロックを評価します。
以下と同じです。
(0 ... ary.size).each {|index| .... }
ブロックが与えられなかった場合は、自身と each_index から生成した
Enumerator オブジェクトを返します。 -
Array
# empty? -> bool (2) -
自身の要素の数が 0 の時に真を返します。そうでない場合に false を返します。
自身の要素の数が 0 の時に真を返します。そうでない場合に false を返します。
p [].empty? #=> true
p [1, 2, 3].empty? #=> false -
Array
# eql?(other) -> bool (2) -
自身と 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 (2) -
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 (2) -
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 (2) -
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 (2) -
すべての要素に val をセットします。
...素に val をセットします。
このメソッドが val のコピーでなく val 自身をセットする
ことに注意してください(Array)。
val の代わりにブロックを指定するとブロックの評価結果を値とします。
@param val 自身にセットしたいオ... -
Array
# fill(range) {|index| . . . } -> self (2) -
配列の指定された範囲すべてに val をセットします。
...分を val で初期化します。
このメソッドが val のコピーでなく val 自身をセットすることに注意してください(Array)。
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 (2) -
配列の指定された範囲すべてに val をセットします。
...分を val で初期化します。
このメソッドが val のコピーでなく val 自身をセットすることに注意してください(Array)。
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 (2) -
すべての要素に val をセットします。
...素に val をセットします。
このメソッドが val のコピーでなく val 自身をセットする
ことに注意してください(Array)。
val の代わりにブロックを指定するとブロックの評価結果を値とします。
@param val 自身にセットしたいオ... -
Array
# fill(val , range) -> self (2) -
配列の指定された範囲すべてに val をセットします。
...分を val で初期化します。
このメソッドが val のコピーでなく val 自身をセットすることに注意してください(Array)。
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 (2) -
配列の指定された範囲すべてに val をセットします。
...分を val で初期化します。
このメソッドが val のコピーでなく val 自身をセットすることに注意してください(Array)。
a = [0, 1, 2]
a.fill("x", 5..10)
p a #=> [0, 1, 2, nil, nil, "x", "x", "x", "x", "x", "x"]
val の代わりにブロックを指定する... -
Array
# first -> object | nil (2) -
配列の先頭の要素を返します。要素がなければ nil を返します。
...先頭の要素を返します。要素がなければ nil を返します。
p [0, 1, 2].first #=> 0
p [].first #=> nil
@see Array#last... -
Array
# first(n) -> Array (2) -
先頭の 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 (2) -
flatten は自身を再帰的に平滑化した配列を生成して返します。flatten! は 自身を再帰的かつ破壊的に平滑化し、平滑化が行われた場合は self をそうでない 場合は nil を返します。 lv が指定された場合、lv の深さまで再帰的に平滑化します。
flatten は自身を再帰的に平滑化した配列を生成して返します。flatten! は
自身を再帰的かつ破壊的に平滑化し、平滑化が行われた場合は self をそうでない
場合は nil を返します。
lv が指定された場合、lv の深さまで再帰的に平滑化します。
@param lv 平滑化の再帰の深さを整数で指定します。nil を指定した場合、再帰の深さの制限無しに平滑化します。
@raise ArgumentError 配列要素が自身を含むような無限にネストした配列に対して flatten を呼んだ場合に発生します。
# 自身を再帰的に平滑化する例。
a = [1, ... -
Array
# flatten(lv = nil) -> Array (2) -
flatten は自身を再帰的に平滑化した配列を生成して返します。flatten! は 自身を再帰的かつ破壊的に平滑化し、平滑化が行われた場合は self をそうでない 場合は nil を返します。 lv が指定された場合、lv の深さまで再帰的に平滑化します。
flatten は自身を再帰的に平滑化した配列を生成して返します。flatten! は
自身を再帰的かつ破壊的に平滑化し、平滑化が行われた場合は self をそうでない
場合は nil を返します。
lv が指定された場合、lv の深さまで再帰的に平滑化します。
@param lv 平滑化の再帰の深さを整数で指定します。nil を指定した場合、再帰の深さの制限無しに平滑化します。
@raise ArgumentError 配列要素が自身を含むような無限にネストした配列に対して flatten を呼んだ場合に発生します。
# 自身を再帰的に平滑化する例。
a = [1, ... -
Array
# hash -> Integer (2) -
自身のハッシュ値を整数で返します。ハッシュ値は自身の各要素のハッシュ値から 計算されます。Array#eql? で比較して等しい配列同士は同じハッシュ値を返します。
...自身のハッシュ値を整数で返します。ハッシュ値は自身の各要素のハッシュ値から
計算されます。Array#eql? で比較して等しい配列同士は同じハッシュ値を返します。
a = ["a", "b", 1]
a.hash #=> 321
b = a.dup
b.hash... -
Array
# include?(val) -> bool (2) -
配列が val と == において等しい要素を持つ時に真を返します。
配列が val と == において等しい要素を持つ時に真を返します。
@param val オブジェクトを指定します。
a = [ "a", "b", "c" ]
a.include?("b") #=> true
a.include?("z") #=> false -
Array
# index {|item| . . . } -> Integer | nil (2) -
指定された val と == で等しい最初の要素の位置を返します。 等しい要素がひとつもなかった時には nil を返します。
...位置を返します。
@param val インデックスを知りたいオブジェクトを指定します。
p [1, 0, 0, 1, 0].index(1) #=> 0
p [1, 0, 0, 0, 0].index(1) #=> 0
p [0, 0, 0, 0, 0].index(1) #=> nil
p [0, 1, 0, 1, 0].index {|v| v > 0} #=> 1
@see Array#rindex... -
Array
# index(val) -> Integer | nil (2) -
指定された val と == で等しい最初の要素の位置を返します。 等しい要素がひとつもなかった時には nil を返します。
...位置を返します。
@param val インデックスを知りたいオブジェクトを指定します。
p [1, 0, 0, 1, 0].index(1) #=> 0
p [1, 0, 0, 0, 0].index(1) #=> 0
p [0, 0, 0, 0, 0].index(1) #=> nil
p [0, 1, 0, 1, 0].index {|v| v > 0} #=> 1
@see Array#rindex... -
Array
# insert(nth , *val) -> self (2) -
インデックス nth の要素の直前(nth が負の場合は直後)に第 2 引数以降の値を挿入します。 引数 val を一つも指定しなければ何もしません。
インデックス nth の要素の直前(nth が負の場合は直後)に第 2 引数以降の値を挿入します。
引数 val を一つも指定しなければ何もしません。
@param nth val を挿入する位置を整数で指定します。
@param val 自身に挿入するオブジェクトを指定します。
ary = [1, 2, 3]
ary.insert(2, "a", "b")
p ary # => [1, 2, "a", "b", 3]
ary.insert(-2, "X")
p ary # =>... -
Array
# inspect -> String (2) -
自身の情報を人間に読みやすい文字列にして返します。
自身の情報を人間に読みやすい文字列にして返します。
[1, 2, 3, 4].to_s # => "[1, 2, 3, 4]"
[1, 2, 3, 4].inspect # => "[1, 2, 3, 4]" -
Array
# join(sep = $ , ) -> String (2) -
配列の要素を文字列 sep を間に挟んで連結した文字列を返します。
...字列を指定します。nil のときは空文字列を使います。
[1, 2, 3].join('-') #=> "1-2-3"
@raise ArgumentError 配列要素が自身を含むような無限にネストした配列に対
して join を呼んだ場合に発生します。
@see Array#*, $,... -
Array
# keep _ if -> Enumerator (2) -
ブロックが 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 (2) -
ブロックが 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 (2) -
配列の末尾の要素を返します。配列が空のときは nil を返します。
...末尾の要素を返します。配列が空のときは nil を返します。
p [0, 1, 2].last #=> 2
p [].last #=> nil
@see Array#first... -
Array
# last(n) -> Array (2) -
末尾の 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 (2) -
配列の長さを返します。配列が空のときは 0 を返します。
配列の長さを返します。配列が空のときは 0 を返します。
p [1, nil, 3, nil].size #=> 4 -
Array
# map! -> Enumerator (2) -
各要素を順番にブロックに渡して評価し、その結果で要素を 置き換えます。
各要素を順番にブロックに渡して評価し、その結果で要素を
置き換えます。
ブロックが与えられなかった場合は、自身と 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 (2) -
各要素を順番にブロックに渡して評価し、その結果で要素を 置き換えます。
各要素を順番にブロックに渡して評価し、その結果で要素を
置き換えます。
ブロックが与えられなかった場合は、自身と 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
# pack(template) -> String (2) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
...template 自身のバイナリとしてパックするためのテンプレートを文字列で指定します。
以下にあげるものは、Array#pack、String#unpack
のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字
を続けること......nt16_t
S: uint16_t
l: int32_t
L: uint32_t
//}
==== 各テンプレート文字の説明
説明中、Array#pack と String#unpack で違いのあるものは `/' で区切って
「Array#pack の説明 / String#unpack の説明」としています。
: a
ASCII文字列(null文字を詰... -
Array
# permutation(n) -> Enumerator (2) -
サイズ 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) { |p| block } -> Array (2) -
サイズ 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(n = 1) -> Array | nil (2) -
自身の末尾から指定された n 個の要素を取り除いてそれを返します。 n を指定しなかった場合は要素そのものか nil を、n を指定した場合は、 足りればサイズが n の配列を返します。n よりも自身のサイズが 小さい時は自身のサイズになります。返す値について、順序は逆転しません (例を参照) 。
...例:
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 (2) -
レシーバの配列と引数で与えられた配列(複数可)のそれぞれから要素を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 (2) -
レシーバの配列と引数で与えられた配列(複数可)のそれぞれから要素を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 (2) -
指定された 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
# rassoc(obj) -> Array | nil (2) -
自身が配列の配列であると仮定して、要素の配列でインデックス 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 (2) -
要素を順番にブロックに渡して評価し、その結果が真になった要素をすべて削除します。 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 (2) -
要素を順番にブロックに渡して評価し、その結果が真になった要素をすべて削除します。 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 (2) -
サイズ 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 (2) -
サイズ 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 (2) -
サイズ 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... -
Array
# repeated _ permutation(n) { |p| . . . } -> Array (2) -
サイズ 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... -
Array
# replace(another) -> self (2) -
配列の内容を配列 another の内容で置き換えます。
配列の内容を配列 another の内容で置き換えます。
@param another 配列を指定します。
a = [1, 2, 3]
a.replace [4, 5, 6]
p a #=> [4, 5, 6] -
Array
# reverse -> Array (2) -
reverse は自身の要素を逆順に並べた新しい配列を生成して返します。 reverse! は自身を破壊的に並べ替えます。 reverse! は self を返します。
reverse は自身の要素を逆順に並べた新しい配列を生成して返します。
reverse! は自身を破壊的に並べ替えます。
reverse! は self を返します。
a = ["a", 2, true]
p a.reverse #=> [true, 2, "a"]
p a #=> ["a", 2, true] (変化なし)
a = ["a", 2, true]
p a.reverse! #=> [true, 2, "a"]
p a #=> [true, 2, "a"] -
Array
# reverse! -> self (2) -
reverse は自身の要素を逆順に並べた新しい配列を生成して返します。 reverse! は自身を破壊的に並べ替えます。 reverse! は self を返します。
reverse は自身の要素を逆順に並べた新しい配列を生成して返します。
reverse! は自身を破壊的に並べ替えます。
reverse! は self を返します。
a = ["a", 2, true]
p a.reverse #=> [true, 2, "a"]
p a #=> ["a", 2, true] (変化なし)
a = ["a", 2, true]
p a.reverse! #=> [true, 2, "a"]
p a #=> [true, 2, "a"] -
Array
# reverse _ each -> Enumerator (2) -
各要素に対して逆順にブロックを評価します。
各要素に対して逆順にブロックを評価します。
ブロックが与えられなかった場合は、自身と reverse_each から生成した
Enumerator オブジェクトを返します。 -
Array
# reverse _ each {|item| . . . } -> self (2) -
各要素に対して逆順にブロックを評価します。
各要素に対して逆順にブロックを評価します。
ブロックが与えられなかった場合は、自身と reverse_each から生成した
Enumerator オブジェクトを返します。 -
Array
# rindex {|item| . . . } -> Integer | nil (2) -
指定された val と == で等しい最後の要素の位置を返します。 等しい要素がひとつもなかった時には nil を返します。
...ブロックには、要素が順に渡されます。
@param val オブジェクトを指定します。
p [1, 0, 0, 1, 0].rindex(1) #=> 3
p [1, 0, 0, 0, 0].rindex(1) #=> 0
p [0, 0, 0, 0, 0].rindex(1) #=> nil
p [0, 1, 0, 1, 0].rindex {|v| v > 0} #=> 3
@see Array#index... -
Array
# rindex(val) -> Integer | nil (2) -
指定された val と == で等しい最後の要素の位置を返します。 等しい要素がひとつもなかった時には nil を返します。
...ブロックには、要素が順に渡されます。
@param val オブジェクトを指定します。
p [1, 0, 0, 1, 0].rindex(1) #=> 3
p [1, 0, 0, 0, 0].rindex(1) #=> 0
p [0, 0, 0, 0, 0].rindex(1) #=> nil
p [0, 1, 0, 1, 0].rindex {|v| v > 0} #=> 3
@see Array#index... -
Array
# rotate!(cnt = 1) -> self (2) -
cnt で指定したインデックスの要素が先頭になるように自身の順番を変更しま す。cnt より前の要素は末尾に移動します。cnt に負の数を指定した場合、逆 の操作を行います。
...指定しなかった場合
は 1 になります。
例:
a = [ "a", "b", "c", "d" ]
a.rotate! #=> ["b", "c", "d", "a"]
a #=> ["b", "c", "d", "a"]
a.rotate!(2) #=> ["d", "a", "b", "c"]
a.rotate!(-3) #=> ["a", "b", "c", "d"]
@see Array#rotate... -
Array
# rotate(cnt = 1) -> Array (2) -
cnt で指定したインデックスの要素が先頭になる配列を新しく作成します。 cnt より前の要素は末尾に移動します。cnt に負の数を指定した場合、逆の操 作を行います。
...ります。
例:
a = [ "a", "b", "c", "d" ]
a.rotate # => ["b", "c", "d", "a"]
a # => ["a", "b", "c", "d"]
a.rotate(2) # => ["c", "d", "a", "b"]
a.rotate(-1) # => ["d", "a", "b", "c"]
a.rotate(-3) # => ["b", "c", "d", "a"]
@see Array#rotate!... -
Array
# sample -> object (2) -
配列の要素を1個(引数を指定した場合は n 個)ランダムに選んで返します。
配列の要素を1個(引数を指定した場合は n 個)ランダムに選んで返します。
配列が空の場合、無引数の場合は nil を、個数を指定した場合は空配列を返します。
srand()が有効です。
例:
a = (1..10).to_a
p a.sample #=> 9
p a.sample #=> 10
p a.sample(3) #=> [1, 9, 3]
p a #=> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -
Array
# sample(n) -> Array (2) -
配列の要素を1個(引数を指定した場合は n 個)ランダムに選んで返します。
配列の要素を1個(引数を指定した場合は n 個)ランダムに選んで返します。
配列が空の場合、無引数の場合は nil を、個数を指定した場合は空配列を返します。
srand()が有効です。
例:
a = (1..10).to_a
p a.sample #=> 9
p a.sample #=> 10
p a.sample(3) #=> [1, 9, 3]
p a #=> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -
Array
# select! -> Enumerator (2) -
ブロックが false を返した要素を自身から削除します。 変更があった場合は self を、 変更がなかった場合には nil を返します。
...には nil を返します。
a = %w{ a b c d e f }
a.select! {|v| v =~ /[a-z]/ } # => nil
a # => ["a", "b", "c", "d", "e", "f"]
ブロックが与えられなかった場合は、自身と select! から生成した
Enumerator オブジェクトを返します。
@see Array#keep_if... -
Array
# select! {|item| block } -> self | nil (2) -
ブロックが false を返した要素を自身から削除します。 変更があった場合は self を、 変更がなかった場合には nil を返します。
...には nil を返します。
a = %w{ a b c d e f }
a.select! {|v| v =~ /[a-z]/ } # => nil
a # => ["a", "b", "c", "d", "e", "f"]
ブロックが与えられなかった場合は、自身と select! から生成した
Enumerator オブジェクトを返します。
@see Array#keep_if... -
Array
# shelljoin -> String (2) -
配列の各要素である文字列に対して、Bourne シェルのコマンドライン中で安全に 使えるためのエスケープを適用し、空白文字を介してそれらを連結したコマンド ライン文字列を生成します。
...スケープを適用し、空白文字を介してそれらを連結したコマンド
ライン文字列を生成します。
array.shelljoin は、Shellwords.shelljoin(array) と等価です。
@return エスケープ結果を連結した文字列を返します。
@see Shellwords.#shelljoin... -
Array
# shift(n = 1) -> Array | nil (2) -
自身の先頭から指定された n 個の要素を取り除いてそれを返します。 n を指定しなかった場合は要素そのものか nil を、n を指定した場合は、 足りればサイズが n の配列を返します。n よりも自身のサイズが 小さい時は自身のサイズになります。残りの要素は前に詰められます。
...@param n 自身から取り除きたい要素の個数を非負整数で指定します。
例:
a = [0, 1, 2, 3, 4]
p a.shift #=> 0
p a #=> [1, 2, 3, 4]
p [].shift #=> nil
p [].shift(1) #=> []
@see Array#push, Array#pop, Array#unshift... -
Array
# shuffle -> Array (2) -
配列の要素をランダムシャッフルして,その結果を配列として返します。
...その結果を配列として返します。
例:
a = [ 1, 2, 3 ] #=> [1, 2, 3]
a.shuffle #=> [2, 3, 1]
@see Array#shuffle!... -
Array
# shuffle! -> self (2) -
配列を破壊的にランダムシャッフルします。
...。
例:
a = [ 1, 2, 3 ] #=> [1, 2, 3]
a.shuffle! #=> [2, 3, 1]
a #=> [2, 3, 1]
@see Array#shuffle...
