るりまサーチ (Ruby 1.9.3)

最速Rubyリファレンスマニュアル検索!
99件ヒット [1-99件を表示] (0.022秒)
トップページ > クラス:Array[x] > バージョン:1.9.3[x] > クエリ:|[x]

別のキーワード

  1. _builtin |
  2. set |
  3. ipaddr |
  4. | _builtin
  5. array |

ライブラリ

キーワード

検索結果

Array#|(other) -> Array (18108.0)

集合の和演算です。両方の配列にいずれかに含まれる要素を全て含む新し い配列を返します。重複する要素は取り除かれます。

..._ary メソッドによ
る暗黙の型変換を試みます。

@raise TypeError 引数に配列以外の(暗黙の型変換が行えない)オブジェクトを
指定した場合に発生します。

[1, 1, 4, 2, 3] | [5, 4, 5] #=> [1, 4, 2, 3, 5]

@see Array#&...

Array#<=>(other) -> -1 | 0 | 1 | nil (305.0)

自身と other の各要素をそれぞれ順に <=> で比較していき、結果が 0 でなかった場合に その値を返します。各要素が等しく、配列の長さも等しい場合には 0 を返します。 各要素が等しいまま一方だけ配列の末尾に達した時、自身の方が短ければ -1 をそうでなければ 1 を返します。 other に配列以外のオブジェクトを指定した場合は nil を返します。

自身と other の各要素をそれぞれ順に <=> で比較していき、結果が 0 でなかった場合に
その値を返します。各要素が等しく、配列の長さも等しい場合には 0 を返します。
各要素が等しいまま一方だけ配列の末尾に達した時、自身の方が短ければ -1 をそうでなければ 1
を返します。
other に配列以外のオブジェクトを指定した場合は nil を返します。

@param other 自身と比較したい配列を指定します。
配列以外のオブジェクトを指定した場合は to_ary メソッドによ
る暗黙の型変換を試みます。


[ 1, 2,...

Array#fill(range) {|index| ... } -> self (123.0)

配列の指定された範囲すべてに 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 (123.0)

配列の指定された範囲すべてに 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#uniq {|item| ... } -> Array (118.0)

uniq は配列から重複した要素を取り除いた新しい配列を返します。 uniq! は削除を破壊的に行い、削除が行われた場合は self を、 そうでなければnil を返します。

uniq は配列から重複した要素を取り除いた新しい配列を返します。
uniq! は削除を破壊的に行い、削除が行われた場合は self を、
そうでなければnil を返します。

取り除かれた要素の部分は前に詰められます。
要素の重複判定は、Object#eql? により行われます。

p [1, 1, 1].uniq # => [1]
p [1, 4, 1].uniq # => [1, 4]
p [1, 3, 2, 2, 3].uniq # => [1, 3, 2]

ブロックが与えられた場合、ブロックが返した値が重複した要素を取り...

絞り込み条件を変える

Array#uniq! -> self | nil (118.0)

uniq は配列から重複した要素を取り除いた新しい配列を返します。 uniq! は削除を破壊的に行い、削除が行われた場合は self を、 そうでなければnil を返します。

uniq は配列から重複した要素を取り除いた新しい配列を返します。
uniq! は削除を破壊的に行い、削除が行われた場合は self を、
そうでなければnil を返します。

取り除かれた要素の部分は前に詰められます。
要素の重複判定は、Object#eql? により行われます。

p [1, 1, 1].uniq # => [1]
p [1, 4, 1].uniq # => [1, 4]
p [1, 3, 2, 2, 3].uniq # => [1, 3, 2]

ブロックが与えられた場合、ブロックが返した値が重複した要素を取り...

Array#uniq! {|item| ... } -> self | nil (118.0)

uniq は配列から重複した要素を取り除いた新しい配列を返します。 uniq! は削除を破壊的に行い、削除が行われた場合は self を、 そうでなければnil を返します。

uniq は配列から重複した要素を取り除いた新しい配列を返します。
uniq! は削除を破壊的に行い、削除が行われた場合は self を、
そうでなければnil を返します。

取り除かれた要素の部分は前に詰められます。
要素の重複判定は、Object#eql? により行われます。

p [1, 1, 1].uniq # => [1]
p [1, 4, 1].uniq # => [1, 4]
p [1, 3, 2, 2, 3].uniq # => [1, 3, 2]

ブロックが与えられた場合、ブロックが返した値が重複した要素を取り...

Array#delete_if {|x| ... } -> self (117.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 (117.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#sort {|a, b| ... } -> Array (116.0)

配列の内容をソートします。要素同士の比較は <=> 演算子を使って行います。sort はソートされた配列を生成して返します。 sort! は self を破壊的にソートし、self を返します。

...こうなる)
p ary2.sort{|a, b| a.to_i <=> b.to_i } #=> ["7", "8", "9", "10", "11"] (ブロックを使って数字としてソート)

# sort_by を使っても良い
p ary2.sort_by{|x| x.to_i } #=> ["7", "8", "9", "10", "11"]

@see Enumerable#sort_by
, Array#sort_by!...

絞り込み条件を変える

Array#sort! {|a, b| ... } -> self (116.0)

配列の内容をソートします。要素同士の比較は <=> 演算子を使って行います。sort はソートされた配列を生成して返します。 sort! は self を破壊的にソートし、self を返します。

...こうなる)
p ary2.sort{|a, b| a.to_i <=> b.to_i } #=> ["7", "8", "9", "10", "11"] (ブロックを使って数字としてソート)

# sort_by を使っても良い
p ary2.sort_by{|x| x.to_i } #=> ["7", "8", "9", "10", "11"]

@see Enumerable#sort_by
, Array#sort_by!...

Array#each {|item| .... } -> self (115.0)

各要素に対してブロックを評価します。

...対してブロックを評価します。

ブロックが与えられなかった場合は、自身と each から生成した
Enumerator オブジェクトを返します。

[1, 2, 3].each do |i|
puts i
end
#=> 1
2
3


@see Array#each_index, Array#reverse_each...

Array#keep_if {|item| ... } -> self (115.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#sort_by! {|item| ... } -> self (115.0)

sort_by の破壊的バージョンです。

sort_by の破壊的バージョンです。

ブロックを省略した場合は返り値によって配列を破壊的に
ソートする Enumerator を返します。

//emlist[][ruby]{
fruits = %w{apple pear fig}
fruits.sort_by! { |word| word.length }
fruits # => ["fig", "pear", "apple"]
//}

@see Enumerable#sort_by

Array#find_index {|item| ...} -> Integer | nil (114.0)

条件に一致する最初の要素の位置を返します。

...の要素の位置を返します。
一つも真にならなかった場合は nil を返します。

p [0, 1, 0, 1, 0].index {|v| v > 0} #=> 1


引数、ブロックのどちらも与えられなかった場合は、
Enumerator のインスタンスを返します。

@see Array#rindex...

絞り込み条件を変える

Array#find_index(val) -> Integer | nil (114.0)

条件に一致する最初の要素の位置を返します。

...の要素の位置を返します。
一つも真にならなかった場合は nil を返します。

p [0, 1, 0, 1, 0].index {|v| v > 0} #=> 1


引数、ブロックのどちらも与えられなかった場合は、
Enumerator のインスタンスを返します。

@see Array#rindex...

Array#index {|item| ...} -> Integer | nil (114.0)

条件に一致する最初の要素の位置を返します。

...の要素の位置を返します。
一つも真にならなかった場合は nil を返します。

p [0, 1, 0, 1, 0].index {|v| v > 0} #=> 1


引数、ブロックのどちらも与えられなかった場合は、
Enumerator のインスタンスを返します。

@see Array#rindex...

Array#index(val) -> Integer | nil (114.0)

条件に一致する最初の要素の位置を返します。

...の要素の位置を返します。
一つも真にならなかった場合は nil を返します。

p [0, 1, 0, 1, 0].index {|v| v > 0} #=> 1


引数、ブロックのどちらも与えられなかった場合は、
Enumerator のインスタンスを返します。

@see Array#rindex...

Array#rindex {|item| ... } -> Integer | nil (111.0)

指定された val と == で等しい最後の要素の位置を返します。 等しい要素がひとつもなかった時には nil を返します。

...した
Enumerator オブジェクトを返します。

@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 (111.0)

指定された val と == で等しい最後の要素の位置を返します。 等しい要素がひとつもなかった時には nil を返します。

...した
Enumerator オブジェクトを返します。

@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#collect! {|item| ..} -> self (110.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 (110.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#product(*lists) { |e| ... } -> self (110.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#select! {|item| block } -> self | nil (110.0)

ブロックが 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.new(size) {|index| ... } -> Array (110.0)

長さ size の配列を生成し、各要素のインデックスを引数としてブロックを実行し、 各要素の値をブロックの評価結果に設定します。

...きます。

@param size 配列の長さを数値で指定します。

例:
ary = Array.new(3){|index| "hoge#{index}"}
p ary #=> ["hoge0", "hoge1", "hoge2"]

例:

ary = Array.new(3){ "foo" }
p ary #=> ["foo", "foo", "foo"]
ary[0].capit...

絞り込み条件を変える

Array#cycle(n=nil) {|obj| block } -> nil (109.0)

配列の全要素を n 回(nilの場合は無限に)繰り返しブロックを呼びだします。

配列の全要素を n 回(nilの場合は無限に)繰り返しブロックを呼びだします。

ブロックを省略した場合は、以上のような繰り返しを行う
Enumerator
を返します。

@param n 繰り返したい回数を整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
黙の型変換を試みます。

@raise TypeError 引数に整数以外の(暗黙の型変換が行えない)オブジェクトを
指定した場合に発生します。

例:

a = ["a", "b", "c"]
a.cycle {...

Array#each_index {|index| .... } -> self (109.0)

各要素のインデックスに対してブロックを評価します。

...クスに対してブロックを評価します。

以下と同じです。

(0 ... ary.size).each {|index| .... }

ブロックが与えられなかった場合は、自身と each_index から生成した
Enumerator オブジェクトを返します。

@see Array#each, Array#reverse_each...

Array#fetch(nth) {|nth| ... } -> object (109.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#reverse_each {|item| ... } -> self (109.0)

各要素に対して逆順にブロックを評価します。

...素に対して逆順にブロックを評価します。

ブロックが与えられなかった場合は、自身と reverse_each から生成した
Enumerator オブジェクトを返します。

a = [ "a", "b", "c" ]
a.reverse_each {|x| print x, " " }
# => c b a

@see Array#each...

Array#fill {|index| ... } -> self (108.0)

すべての要素に val をセットします。

...素に val をセットします。

このメソッドが val のコピーでなく val 自身をセットする
ことに注意してください(Array)。
val の代わりにブロックを指定するとブロックの評価結果を値とします。

@param val 自身にセットしたいオ...

絞り込み条件を変える

Array#zip(*lists) {|v1, v2, ...| ...} -> nil (108.0)

自身と引数に渡した配列の各要素からなる配列の配列を生成して返します。 生成される配列の要素数は self の要素数と同じです。

自身と引数に渡した配列の各要素からなる配列の配列を生成して返します。
生成される配列の要素数は self の要素数と同じです。

ブロック付きで呼び出した場合は、
self と引数に渡した配列の各要素を順番にブロックに渡します。

@param lists 配列を指定します。
配列以外のオブジェクトを指定した場合は to_ary メソッドによ
る暗黙の型変換を試みます。to_ary メソッドに応答できない場
合は each メソッドによる暗黙の型変換を試みます。

@raise NoMethodError 引数に配...

Array#[](nth) -> object | nil (106.0)

nth 番目の要素を返します。nth 番目の要素が存在しない時には nil を返します。

nth 番目の要素を返します。nth 番目の要素が存在しない時には nil を返します。

@param nth インデックスを整数で指定します。
先頭の要素が 0 番目になります。nth の値が負の時には末尾から
のインデックスと見倣します。末尾の要素が -1 番目になります。
整数以外のオブジェクトを指定した場合は to_int メソッドによる
暗黙の型変換を試みます。

@raise TypeError 引数に整数以外の(暗黙の型変換が行えない)オブジェクトを
指定...

Array#[](range) -> Array | nil (106.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 (106.0)

start 番目から length 個の要素を含む部分配列を返します。 length が負の時、start が自身の範囲を越えた時には nil を返します。

start 番目から length 個の要素を含む部分配列を返します。
length が負の時、start が自身の範囲を越えた時には nil を返します。

@param start 生成したい部分配列の先頭のインデックスを整数で指定します。
start の値が負の時には末尾からのインデックスと見倣します。
末尾の要素が -1 番目になります。
整数以外のオブジェクトを指定した場合は to_int メソッドによ
る暗黙の型変換を試みます。

@param length 生成したい部分配列...

Array#at(nth) -> object | nil (106.0)

nth 番目の要素を返します。nth 番目の要素が存在しない時には nil を返します。

nth 番目の要素を返します。nth 番目の要素が存在しない時には nil を返します。

@param nth インデックスを整数で指定します。
先頭の要素が 0 番目になります。nth の値が負の時には末尾から
のインデックスと見倣します。末尾の要素が -1 番目になります。
整数以外のオブジェクトを指定した場合は to_int メソッドによる
暗黙の型変換を試みます。

@raise TypeError 引数に整数以外の(暗黙の型変換が行えない)オブジェクトを
指定...

絞り込み条件を変える

Array#slice!(nth) -> object | nil (105.0)

指定した要素を自身から取り除き、取り除いた要素を返します。取り除く要素がなければ nil を返します。

指定した要素を自身から取り除き、取り除いた要素を返します。取り除く要素がなければ nil
を返します。

@param nth 取り除く要素のインデックスを整数で指定します。

例:

a = [ "a", "b", "c" ]
a.slice!(1) #=> "b"
a #=> ["a", "c"]
a.slice!(-1) #=> "c"
a #=> ["a"]
a.slice!(100) #=> nil
a #=> ["a"]

Array#slice!(range) -> Array | nil (105.0)

指定した部分配列を自身から取り除き、取り除いた部分配列を返します。取り除く要素がなければ nil を返します。

指定した部分配列を自身から取り除き、取り除いた部分配列を返します。取り除く要素がなければ nil
を返します。

@param start 削除したい部分配列の先頭のインデックスを整数で指定します。

@param len 削除したい部分配列の長さを整数で指定します。

@param range 削除したい配列の範囲を Range オブジェクトで指定します。

例:

a = [ "a", "b", "c" ]
a.slice!(1, 2) #=> ["b", "c"]
a #=> ["a"]

a = [ "a", "...

Array#slice!(start, len) -> Array | nil (105.0)

指定した部分配列を自身から取り除き、取り除いた部分配列を返します。取り除く要素がなければ nil を返します。

指定した部分配列を自身から取り除き、取り除いた部分配列を返します。取り除く要素がなければ nil
を返します。

@param start 削除したい部分配列の先頭のインデックスを整数で指定します。

@param len 削除したい部分配列の長さを整数で指定します。

@param range 削除したい配列の範囲を Range オブジェクトで指定します。

例:

a = [ "a", "b", "c" ]
a.slice!(1, 2) #=> ["b", "c"]
a #=> ["a"]

a = [ "a", "...

Array#slice(nth) -> object | nil (105.0)

指定された自身の要素を返します。Array#[] と同じです。

...指定された自身の要素を返します。Array#[] と同じです。

@param nth 要素のインデックスを整数で指定します。Array#[] と同じです。

例:

p [0, 1, 2].slice(1) #=> 1
p [0, 1, 2].slice(2) #=> 2
p [0, 1, 2].slice(10) #=> nil...

Array#slice(pos, len) -> Array | nil (105.0)

指定された自身の部分配列を返します。Array#[] と同じです。

...指定された自身の部分配列を返します。Array#[] と同じです。

@param pos Array#[] と同じです。

@param len Array#[] と同じです。

@param range Array#[] と同じです。

例:

p [0, 1, 2].slice(0, 2) #=> [0, 1]
p [0, 1, 2].slice(2..3) #=> [2]
p [0,...

絞り込み条件を変える

Array#slice(range) -> Array | nil (105.0)

指定された自身の部分配列を返します。Array#[] と同じです。

...指定された自身の部分配列を返します。Array#[] と同じです。

@param pos Array#[] と同じです。

@param len Array#[] と同じです。

@param range Array#[] と同じです。

例:

p [0, 1, 2].slice(0, 2) #=> [0, 1]
p [0, 1, 2].slice(2..3) #=> [2]
p [0,...

Array#permutation(n = self.length) { |p| block } -> Array (104.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#repeated_combination(n) { |c| ... } -> Array (104.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) { |p| ... } -> Array (104.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...

Array#sample -> object | nil (104.0)

配列の要素を1個(引数を指定した場合は自身の要素数を越えない範囲で n 個) ランダムに選んで返します。

配列の要素を1個(引数を指定した場合は自身の要素数を越えない範囲で n 個)
ランダムに選んで返します。

重複したインデックスは選択されません。そのため、自身がユニークな配列の
場合は返り値もユニークな配列になります。

配列が空の場合、無引数の場合は nil を、個数を指定した場合は空配列を返します。

srand()が有効です。

@param n 取得する要素の数を指定します。自身の要素数(self.length)以上の
値を指定した場合は要素数と同じ数の配列を返します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
...

絞り込み条件を変える

Array#sample(random: Random) -> object | nil (104.0)

配列の要素を1個(引数を指定した場合は自身の要素数を越えない範囲で n 個) ランダムに選んで返します。

配列の要素を1個(引数を指定した場合は自身の要素数を越えない範囲で n 個)
ランダムに選んで返します。

重複したインデックスは選択されません。そのため、自身がユニークな配列の
場合は返り値もユニークな配列になります。

配列が空の場合、無引数の場合は nil を、個数を指定した場合は空配列を返します。

srand()が有効です。

@param n 取得する要素の数を指定します。自身の要素数(self.length)以上の
値を指定した場合は要素数と同じ数の配列を返します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
...

Array#assoc(key) -> Array | nil (103.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#combination(n) {|c| block } -> Array (103.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! -> self | nil (103.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#delete(val) -> object | nil (103.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 (103.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#first -> object | nil (103.0)

配列の先頭の要素を返します。要素がなければ nil を返します。

...先頭の要素を返します。要素がなければ nil を返します。

p [0, 1, 2].first #=> 0
p [].first #=> nil

@see Array#last...

Array#flatten!(lv = nil) -> self | nil (103.0)

flatten は自身を再帰的に平坦化した配列を生成して返します。flatten! は 自身を再帰的かつ破壊的に平坦化し、平坦化が行われた場合は self をそうでない 場合は nil を返します。 lv が指定された場合、lv の深さまで再帰的に平坦化します。

flatten は自身を再帰的に平坦化した配列を生成して返します。flatten! は
自身を再帰的かつ破壊的に平坦化し、平坦化が行われた場合は self をそうでない
場合は nil を返します。
lv が指定された場合、lv の深さまで再帰的に平坦化します。

@param lv 平坦化の再帰の深さを整数で指定します。nil を指定した場合、再
帰の深さの制限無しに平坦化します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
黙の型変換を試みます。

@raise TypeError 引数に整数以外の(...

Array#last -> object | nil (103.0)

配列の末尾の要素を返します。配列が空のときは nil を返します。

...末尾の要素を返します。配列が空のときは nil を返します。

p [0, 1, 2].last #=> 2
p [].last #=> nil

@see Array#first...

Array#pop -> object | nil (103.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#rassoc(obj) -> Array | nil (103.0)

自身が配列の配列であると仮定して、要素の配列でインデックス 1 の要素が obj に等しいものを検索し見つかった最初の要素を返 します。該当する要素がなければ nil を返します。

...た最初の要素を返
します。該当する要素がなければ nil を返します。

比較は == 演算子を使って行われます。

@param obj 検索するオブジェクトを指定します。

a = [[15,1], [25,2], [35,3]]
p a.rassoc(2) # => [25, 2]

@see Array#assoc...

Array#shift -> object | nil (103.0)

配列の先頭の要素を取り除いてそれを返します。 引数を指定した場合はその個数だけ取り除き、それを配列で返します。

...ます。

@raise ArgumentError 引数に負の数を指定した場合に発生します。



例:

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.try_convert(obj) -> Array | nil (103.0)

to_ary メソッドを用いて obj を配列に変換しようとします。

...引数が配列であるかどうかを調べるために使えます。

例:

Array
.try_convert([1]) # => [1]
Array
.try_convert("1") # => nil

if tmp = Array.try_convert(arg)
# the argument is an array
elsif tmp = String.try_convert(arg)
# the argument is a string
end...

Array#rotate!(cnt = 1) -> self (74.0)

cnt で指定したインデックスの要素が先頭になるように自身の順番を変更しま す。cnt より前の要素は末尾に移動します。cnt に負の数を指定した場合、逆 の操作を行います。

..., "a"]
a #=> ["b", "c", "d", "a"]
a.rotate!(2) #=> ["d", "a", "b", "c"]
a.rotate!(-3) #=> ["a", "b", "c", "d"]

@see Array#rotate

//emlist[例: find-minimum モード][ruby]{
ary = [0, 4, 7, 10, 12]
ary.bsearch_index { |x| x >= 4 } # => 1
ary.bsearch_index { |x| x >...

Array#pack(template) -> String (38.0)

配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。

...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#fill(val, range) -> self (23.0)

配列の指定された範囲すべてに 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 (23.0)

配列の指定された範囲すべてに 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#uniq -> Array (18.0)

uniq は配列から重複した要素を取り除いた新しい配列を返します。 uniq! は削除を破壊的に行い、削除が行われた場合は self を、 そうでなければnil を返します。

uniq は配列から重複した要素を取り除いた新しい配列を返します。
uniq! は削除を破壊的に行い、削除が行われた場合は self を、
そうでなければnil を返します。

取り除かれた要素の部分は前に詰められます。
要素の重複判定は、Object#eql? により行われます。

p [1, 1, 1].uniq # => [1]
p [1, 4, 1].uniq # => [1, 4]
p [1, 3, 2, 2, 3].uniq # => [1, 3, 2]

ブロックが与えられた場合、ブロックが返した値が重複した要素を取り...

Array#delete_if -> Enumerator (17.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! -> Enumerator (17.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#sort -> Array (16.0)

配列の内容をソートします。要素同士の比較は <=> 演算子を使って行います。sort はソートされた配列を生成して返します。 sort! は self を破壊的にソートし、self を返します。

...こうなる)
p ary2.sort{|a, b| a.to_i <=> b.to_i } #=> ["7", "8", "9", "10", "11"] (ブロックを使って数字としてソート)

# sort_by を使っても良い
p ary2.sort_by{|x| x.to_i } #=> ["7", "8", "9", "10", "11"]

@see Enumerable#sort_by
, Array#sort_by!...

Array#sort! -> self (16.0)

配列の内容をソートします。要素同士の比較は <=> 演算子を使って行います。sort はソートされた配列を生成して返します。 sort! は self を破壊的にソートし、self を返します。

...こうなる)
p ary2.sort{|a, b| a.to_i <=> b.to_i } #=> ["7", "8", "9", "10", "11"] (ブロックを使って数字としてソート)

# sort_by を使っても良い
p ary2.sort_by{|x| x.to_i } #=> ["7", "8", "9", "10", "11"]

@see Enumerable#sort_by
, Array#sort_by!...

Array#each -> Enumerator (15.0)

各要素に対してブロックを評価します。

...対してブロックを評価します。

ブロックが与えられなかった場合は、自身と each から生成した
Enumerator オブジェクトを返します。

[1, 2, 3].each do |i|
puts i
end
#=> 1
2
3


@see Array#each_index, Array#reverse_each...

Array#keep_if -> Enumerator (15.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#sort_by! -> Enumerator (15.0)

sort_by の破壊的バージョンです。

sort_by の破壊的バージョンです。

ブロックを省略した場合は返り値によって配列を破壊的に
ソートする Enumerator を返します。

//emlist[][ruby]{
fruits = %w{apple pear fig}
fruits.sort_by! { |word| word.length }
fruits # => ["fig", "pear", "apple"]
//}

@see Enumerable#sort_by

絞り込み条件を変える

Array#find_index -> Enumerator (14.0)

条件に一致する最初の要素の位置を返します。

...の要素の位置を返します。
一つも真にならなかった場合は nil を返します。

p [0, 1, 0, 1, 0].index {|v| v > 0} #=> 1


引数、ブロックのどちらも与えられなかった場合は、
Enumerator のインスタンスを返します。

@see Array#rindex...

Array#index -> Enumerator (14.0)

条件に一致する最初の要素の位置を返します。

...の要素の位置を返します。
一つも真にならなかった場合は nil を返します。

p [0, 1, 0, 1, 0].index {|v| v > 0} #=> 1


引数、ブロックのどちらも与えられなかった場合は、
Enumerator のインスタンスを返します。

@see Array#rindex...

Array#rindex -> Enumerator (11.0)

指定された val と == で等しい最後の要素の位置を返します。 等しい要素がひとつもなかった時には nil を返します。

...した
Enumerator オブジェクトを返します。

@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#collect! -> Enumerator (10.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! -> Enumerator (10.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#product(*lists) -> Array (10.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#select! -> Enumerator (10.0)

ブロックが 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.new(ary) -> Array (10.0)

指定された配列 ary を複製して返します。 Array#dup 同様 要素を複製しない浅い複製です。

...れた配列 ary を複製して返します。
Array
#dup 同様 要素を複製しない浅い複製です。

@param ary 複製したい配列を指定します。

例:

p Array.new([1,2,3]) # => [1,2,3]

a = ["a", "b", "c"]
b = Array.new(a)
a.each{|s| s.capitalize! }
p a...

Array#cycle(n=nil) -> Enumerator (9.0)

配列の全要素を n 回(nilの場合は無限に)繰り返しブロックを呼びだします。

配列の全要素を n 回(nilの場合は無限に)繰り返しブロックを呼びだします。

ブロックを省略した場合は、以上のような繰り返しを行う
Enumerator
を返します。

@param n 繰り返したい回数を整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
黙の型変換を試みます。

@raise TypeError 引数に整数以外の(暗黙の型変換が行えない)オブジェクトを
指定した場合に発生します。

例:

a = ["a", "b", "c"]
a.cycle {...

Array#each_index -> Enumerator (9.0)

各要素のインデックスに対してブロックを評価します。

...クスに対してブロックを評価します。

以下と同じです。

(0 ... ary.size).each {|index| .... }

ブロックが与えられなかった場合は、自身と each_index から生成した
Enumerator オブジェクトを返します。

@see Array#each, Array#reverse_each...

絞り込み条件を変える

Array#fetch(nth) -> object (9.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 (9.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#reverse_each -> Enumerator (9.0)

各要素に対して逆順にブロックを評価します。

...素に対して逆順にブロックを評価します。

ブロックが与えられなかった場合は、自身と reverse_each から生成した
Enumerator オブジェクトを返します。

a = [ "a", "b", "c" ]
a.reverse_each {|x| print x, " " }
# => c b a

@see Array#each...

Array#fill(val) -> self (8.0)

すべての要素に val をセットします。

...素に val をセットします。

このメソッドが val のコピーでなく val 自身をセットする
ことに注意してください(Array)。
val の代わりにブロックを指定するとブロックの評価結果を値とします。

@param val 自身にセットしたいオ...

Array#zip(*lists) -> [[object]] (8.0)

自身と引数に渡した配列の各要素からなる配列の配列を生成して返します。 生成される配列の要素数は self の要素数と同じです。

自身と引数に渡した配列の各要素からなる配列の配列を生成して返します。
生成される配列の要素数は self の要素数と同じです。

ブロック付きで呼び出した場合は、
self と引数に渡した配列の各要素を順番にブロックに渡します。

@param lists 配列を指定します。
配列以外のオブジェクトを指定した場合は to_ary メソッドによ
る暗黙の型変換を試みます。to_ary メソッドに応答できない場
合は each メソッドによる暗黙の型変換を試みます。

@raise NoMethodError 引数に配...

絞り込み条件を変える

Array.new(size = 0, val = nil) -> Array (5.0)

長さ size の配列を生成し、各要素を val で初期化して返します。

...指します。

@param size 配列の長さを数値で指定します。

@param val 配列の要素の値を指定します。

例:

ary = Array.new(3, "foo")
p ary #=> ["foo", "foo", "foo"]
ary[0].capitalize!
p ary #=> ["Foo", "Foo", "Foo"...

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#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_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...

Array#sample(n) -> Array (4.0)

配列の要素を1個(引数を指定した場合は自身の要素数を越えない範囲で n 個) ランダムに選んで返します。

配列の要素を1個(引数を指定した場合は自身の要素数を越えない範囲で n 個)
ランダムに選んで返します。

重複したインデックスは選択されません。そのため、自身がユニークな配列の
場合は返り値もユニークな配列になります。

配列が空の場合、無引数の場合は nil を、個数を指定した場合は空配列を返します。

srand()が有効です。

@param n 取得する要素の数を指定します。自身の要素数(self.length)以上の
値を指定した場合は要素数と同じ数の配列を返します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
...

絞り込み条件を変える

Array#sample(n, random: Random) -> Array (4.0)

配列の要素を1個(引数を指定した場合は自身の要素数を越えない範囲で n 個) ランダムに選んで返します。

配列の要素を1個(引数を指定した場合は自身の要素数を越えない範囲で n 個)
ランダムに選んで返します。

重複したインデックスは選択されません。そのため、自身がユニークな配列の
場合は返り値もユニークな配列になります。

配列が空の場合、無引数の場合は nil を、個数を指定した場合は空配列を返します。

srand()が有効です。

@param n 取得する要素の数を指定します。自身の要素数(self.length)以上の
値を指定した場合は要素数と同じ数の配列を返します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
...

Array#combination(n) -> Enumerator (3.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 (3.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#delete(val) { ... } -> object (3.0)

指定された val と == で等しい要素を自身からすべて取り除きます。 等しい要素が見つかった場合は最後に見つかった要素を、 そうでない場合には nil を返します。

...クを評価してその結果を返します。

@param val 自身から削除したい値を指定します。

array
= [1, 2, 3, 2, 1]
p array.delete(2) #=> 2
p array #=> [1, 3, 1]

# ブロックなしの引数に nil を渡すとその戻り値から削除...

Array#first(n) -> Array (3.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) -> Array (3.0)

flatten は自身を再帰的に平坦化した配列を生成して返します。flatten! は 自身を再帰的かつ破壊的に平坦化し、平坦化が行われた場合は self をそうでない 場合は nil を返します。 lv が指定された場合、lv の深さまで再帰的に平坦化します。

flatten は自身を再帰的に平坦化した配列を生成して返します。flatten! は
自身を再帰的かつ破壊的に平坦化し、平坦化が行われた場合は self をそうでない
場合は nil を返します。
lv が指定された場合、lv の深さまで再帰的に平坦化します。

@param lv 平坦化の再帰の深さを整数で指定します。nil を指定した場合、再
帰の深さの制限無しに平坦化します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
黙の型変換を試みます。

@raise TypeError 引数に整数以外の(...

Array#last(n) -> Array (3.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#pop(n) -> Array (3.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#shift(n) -> Array (3.0)

配列の先頭の要素を取り除いてそれを返します。 引数を指定した場合はその個数だけ取り除き、それを配列で返します。

...ます。

@raise ArgumentError 引数に負の数を指定した場合に発生します。



例:

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...