種類
- インスタンスメソッド (241)
- 特異メソッド (11)
キーワード
- <=> (5)
- [] (9)
- assoc (3)
- collect! (6)
- combination (6)
- compact (3)
- compact! (3)
- cycle (6)
- delete (6)
-
delete
_ at (3) -
delete
_ if (6) - each (6)
-
each
_ index (6) - fetch (9)
- fill (18)
- first (6)
- flatten (3)
- flatten! (3)
- index (6)
-
keep
_ if (4) - last (6)
- map! (6)
- new (9)
- nitems (2)
- pack (3)
- permutation (6)
- pop (3)
- product (4)
- rassoc (3)
- reject! (6)
-
repeated
_ combination (4) -
repeated
_ permutation (4) -
reverse
_ each (6) - rindex (6)
- select! (4)
- shift (3)
- slice (9)
- slice! (9)
- sort (6)
- sort! (6)
-
sort
_ by! (4) -
to
_ ptr (2) -
try
_ convert (2) - uniq (5)
- uniq! (5)
-
values
_ at (3) - zip (6)
検索結果
先頭5件
-
Array
# |(other) -> Array (18107) -
集合の和演算です。両方の配列にいずれかに含まれる要素を全て含む新し い配列を返します。重複する要素は取り除かれます。
...する要素は取り除かれます。
要素の重複判定は、Object#eql? により行われます。
@param other 配列を指定します。other が配列でなければ to_ary メソッドによる暗黙の型変換を試みます。
[1, 1, 4, 2, 3] | [4, 5, 5] #=> [1, 4, 2, 3, 5]... -
Array
# <=>(other) -> -1 | 0 | 1 | nil (306) -
自身と 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 (206) -
自身と 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
# fill(range) {|index| . . . } -> self (122) -
配列の指定された範囲すべてに 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 の代わりにブロックを指定する......クスが渡されます。
ary = []
p ary.fill(1..2) {|i| i} # => [nil, 1, 2]
p ary.fill(0,3) {|i| i} # => [0, 1, 2]
p ary.fill { "foo" } # => ["foo", "foo", "foo"]
p ary.collect {|v| v.object_id } # => [537770124, 537770112, 537770100]
@param val... -
Array
# fill(start , length = nil) {|index| . . . } -> self (122) -
配列の指定された範囲すべてに 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 の代わりにブロックを指定する......クスが渡されます。
ary = []
p ary.fill(1..2) {|i| i} # => [nil, 1, 2]
p ary.fill(0,3) {|i| i} # => [0, 1, 2]
p ary.fill { "foo" } # => ["foo", "foo", "foo"]
p ary.collect {|v| v.object_id } # => [537770124, 537770112, 537770100]
@param val... -
Array
# uniq {|item| . . . } -> Array (117) -
uniq は配列から重複した要素を取り除いた新しい配列を返します。 取り除かれた要素の部分は前に詰められます。uniq! は削除を破壊 的に行い、削除が行われた場合は self を、そうでなければ nil を返します。
...3, 2, 2, 3].uniq # => [1, 3, 2]
ブロックが指定された場合、ブロックが返した値が重複した要素を取り除いた
配列を返します。
p [1, 3, 2, "2", "3"].uniq # => [1, 3, 2, "2", "3"]
p [1, 3, 2, "2", "3"].uniq { |n| n.to_s } # => [1, 3, 2]... -
Array
# uniq! -> self | nil (117) -
uniq は配列から重複した要素を取り除いた新しい配列を返します。 取り除かれた要素の部分は前に詰められます。uniq! は削除を破壊 的に行い、削除が行われた場合は self を、そうでなければ nil を返します。
...3, 2, 2, 3].uniq # => [1, 3, 2]
ブロックが指定された場合、ブロックが返した値が重複した要素を取り除いた
配列を返します。
p [1, 3, 2, "2", "3"].uniq # => [1, 3, 2, "2", "3"]
p [1, 3, 2, "2", "3"].uniq { |n| n.to_s } # => [1, 3, 2]... -
Array
# uniq! {|item| . . . } -> self | nil (117) -
uniq は配列から重複した要素を取り除いた新しい配列を返します。 取り除かれた要素の部分は前に詰められます。uniq! は削除を破壊 的に行い、削除が行われた場合は self を、そうでなければ nil を返します。
...3, 2, 2, 3].uniq # => [1, 3, 2]
ブロックが指定された場合、ブロックが返した値が重複した要素を取り除いた
配列を返します。
p [1, 3, 2, "2", "3"].uniq # => [1, 3, 2, "2", "3"]
p [1, 3, 2, "2", "3"].uniq { |n| n.to_s } # => [1, 3, 2]... -
Array
# delete _ if {|x| . . . } -> self (116) -
要素を順番にブロックに渡して評価し、その結果が真になった要素をすべて削除します。 delete_if は常に self を返しますが、reject! は要素が 1 つ以上削除されれば self を、 1 つも削除されなければ nil を返します。
...て副作用があることに注意してください。
例:
a = [0, 1, 2, 3, 4, 5]
a.delete_if{|x| x % 2 == 0}
p a #=> [1, 3, 5]
a = [0, 1, 2, 3, 4, 5]
e = a.reject!
e.each{|i| i % 2 == 0}
p a #=> [1, 3, 5] もとの配列から削除されていることに注... -
Array
# reject! {|x| . . . } -> self | nil (116) -
要素を順番にブロックに渡して評価し、その結果が真になった要素をすべて削除します。 delete_if は常に self を返しますが、reject! は要素が 1 つ以上削除されれば self を、 1 つも削除されなければ nil を返します。
...て副作用があることに注意してください。
例:
a = [0, 1, 2, 3, 4, 5]
a.delete_if{|x| x % 2 == 0}
p a #=> [1, 3, 5]
a = [0, 1, 2, 3, 4, 5]
e = a.reject!
e.each{|i| i % 2 == 0}
p a #=> [1, 3, 5] もとの配列から削除されていることに注... -
Array
# sort {|a , b| . . . } -> Array (115) -
配列の内容をソートします。要素同士の比較は <=> 演算子を使って行います。sort はソートされた配列を生成して返します。 sort! は self を破壊的にソートし、self を返します。
..."] (文字列としてソートするとこうなる)
p b.sort{|x, y| x.to_i <=> y.to_i } #=> ["7", "8", "9", "10", "11"] (ブロックを使って数字としてソート)
# sort_by を使っても良い
p b.sort_by{|x| x.to_i } #=> ["7", "8", "9", "10", "11"]
@see Enu... -
Array
# sort! {|a , b| . . . } -> self (115) -
配列の内容をソートします。要素同士の比較は <=> 演算子を使って行います。sort はソートされた配列を生成して返します。 sort! は self を破壊的にソートし、self を返します。
..."] (文字列としてソートするとこうなる)
p b.sort{|x, y| x.to_i <=> y.to_i } #=> ["7", "8", "9", "10", "11"] (ブロックを使って数字としてソート)
# sort_by を使っても良い
p b.sort_by{|x| x.to_i } #=> ["7", "8", "9", "10", "11"]
@see Enu... -
Array
# each {|item| . . . . } -> self (114) -
各要素に対してブロックを評価します。
...られなかった場合は、自身と each から生成した
Enumerable::Enumerator オブジェクトを返します。
[1, 2, 3].each do |i|
puts i
end
#=> 1
2
3......クが与えられなかった場合は、自身と each から生成した
Enumerator オブジェクトを返します。
[1, 2, 3].each do |i|
puts i
end
#=> 1
2
3... -
Array
# keep _ if {|item| . . . } -> self (114) -
ブロックが false を返した要素を削除します。
...%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
# index {|item| . . . } -> Integer | nil (110) -
指定された 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 (110) -
指定された 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
# rindex {|item| . . . } -> Integer | nil (110) -
指定された 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 (110) -
指定された 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
# collect! {|item| . . } -> self (109) -
各要素を順番にブロックに渡して評価し、その結果で要素を 置き換えます。
...場合は、自身と map! から生成した
Enumerable::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, E......なかった場合は、自身と 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, E... -
Array
# map! {|item| . . } -> self (109) -
各要素を順番にブロックに渡して評価し、その結果で要素を 置き換えます。
...場合は、自身と map! から生成した
Enumerable::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, E......なかった場合は、自身と 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, E... -
Array
# product(*lists) { |e| . . . } -> self (109) -
レシーバの配列と引数で与えられた配列(複数可)のそれぞれから要素を1 個ずつとって配列とし,それらのすべての配列を要素とする配列を返します。
...1],[2]]
[1,2].product([]) # => []
ブロックが指定された場合、作成した配列の各要素を引数としてブロックを実
行して self を返します。
a = []
[1,2,3].product([4,5]) {|e| a << e} # => [1,2,3]
a # => [[1,4],[1,5],[2,4],[2,5],[3,4],[3,5]]... -
Array
# select! {|item| block } -> self | nil (109) -
ブロックが 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
# to _ ptr -> nil | DL :: PtrData (109) -
自身の各要素を指すポインタの配列を生成し、それへのポインタ DL::PtrData を返します。 この返り値には、DL::FREE が free 関数としてセットされています。 自身の長さが 0 なら nil を返します。
...ng である場合、各要素は複製されます。
require 'dl/import'
ptr = ['a', 'b', 'c'].to_ptr
p ptr.size #=> 12
p ptr.to_a('P').map{|s| s.to_s } #=> ["a", "b", "c"]
@param type self の要素の型を文字で指定します。DL の型指定子の項を参照して下さい。
@r... -
Array
# to _ ptr(type) -> nil | DL :: PtrData (109) -
自身の各要素を指すポインタの配列を生成し、それへのポインタ DL::PtrData を返します。 この返り値には、DL::FREE が free 関数としてセットされています。 自身の長さが 0 なら nil を返します。
...ng である場合、各要素は複製されます。
require 'dl/import'
ptr = ['a', 'b', 'c'].to_ptr
p ptr.size #=> 12
p ptr.to_a('P').map{|s| s.to_s } #=> ["a", "b", "c"]
@param type self の要素の型を文字で指定します。DL の型指定子の項を参照して下さい。
@r... -
Array
. new(size) {|index| . . . } -> Array (109) -
長さ 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 (108) -
配列の全要素を n 回(nilの場合は無限に)繰り返しブロックを呼びだします。
...n 回(nilの場合は無限に)繰り返しブロックを呼びだします。
ブロックを省略した場合は、以上のような繰り返しを行う
Enumerable::Enumerator
を返します。
例:
a = ["a", "b", "c"]
a.cycle {|x| puts x } # print, a, b, c, a, b, c,.. forever.......全要素を n 回(nilの場合は無限に)繰り返しブロックを呼びだします。
ブロックを省略した場合は、以上のような繰り返しを行う
Enumerator
を返します。
例:
a = ["a", "b", "c"]
a.cycle {|x| puts x } # print, a, b, c, a, b, c,.. forever.... -
Array
# each _ index {|index| . . . . } -> self (108) -
各要素のインデックスに対してブロックを評価します。
...各要素のインデックスに対してブロックを評価します。
以下と同じです。
(0 ... ary.size).each {|index| .... }
ブロックが与えられなかった場合は、自身と each_index から生成した
Enumerable::Enumerator オブジェクトを返します。......各要素のインデックスに対してブロックを評価します。
以下と同じです。
(0 ... ary.size).each {|index| .... }
ブロックが与えられなかった場合は、自身と each_index から生成した
Enumerator オブジェクトを返します。... -
Array
# fetch(nth) {|nth| . . . } -> object (108) -
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
# nitems {|obj| . . . } -> Integer (108) -
nil でない要素の数を返します。
...価し nil でない値を返した
要素の数を返します。
例:
p [1, nil, 3, nil].nitems #=> 2
p [1, nil, 3, nil].nitems{|e| e == 1} #=> 2... -
Array
# fill {|index| . . . } -> self (107) -
すべての要素に val をセットします。
...素に val をセットします。
このメソッドが val のコピーでなく val 自身をセットする
ことに注意してください(Array)。
val の代わりにブロックを指定するとブロックの評価結果を値とします。
@param val 自身にセットしたいオ... -
Array
# zip(*lists) {|v1 , v2 , . . . | . . . } -> nil (107) -
自身と引数に渡した配列の各要素からなる配列の配列を生成して返します。 生成される配列の要素数は self の要素数と同じです。
...p [1,2,3,4,5].zip([:a,:b,:c], [:A,:B,:C,:D])
# => [[1, :a, :A], [2, :b, :B],
# [3, :c, :C], [4, nil, :D], [5, nil, nil]]
p [1,2,3].zip([4,5,6], [7,8,9]) {|ary|
p ary
}
# => [1, 4, 7]
# [2, 5, 8]
# [3, 6, 9]
# nil... -
Array
# [](nth) -> object | nil (104) -
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 (104) -
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 (104) -
start 番目から length 個の要素を含む部分配列を返します。 length が負の時、start が自身の範囲を越えた時には nil を返します。
start 番目から length 個の要素を含む部分配列を返します。
length が負の時、start が自身の範囲を越えた時には nil を返します。
@param start 生成したい部分配列の先頭のインデックスを整数で指定します。
start の値が負の時には末尾からのインデックスと見倣します。末尾の要素が -1 番目になります。
@param length 生成したい部分配列の長さを整数で指定します。
length が start 番目からの配列の長さより長い時には、越えた分の長さは無視されます。
例:
a = ... -
Array
# slice!(nth) -> object | nil (104) -
指定した要素を自身から取り除き、取り除いた要素を返します。取り除く要素がなければ nil を返します。
...ます。取り除く要素がなければ nil
を返します。
@param nth 取り除く要素のインデックスを整数で指定します。Array#[] と同じです。
例:
a = [ "a", "b", "c" ]
a.slice!(1) #=> "b"
a #=> ["a", "c"]
a.slice!(-1) #=> "c"
a... -
Array
# slice!(range) -> Array | nil (104) -
指定した部分配列を自身から取り除き、取り除いた部分配列を返します。取り除く要素がなければ nil を返します。
...スを整数で指定します。Array#[] と同じです。
@param len 削除したい部分配列の長さを整数で指定します。Array#[] と同じです。
@param range 削除したい配列の範囲を Range オブジェクトで指定します。Array#[] と同じです。
@raise I... -
Array
# slice!(start , len) -> Array | nil (104) -
指定した部分配列を自身から取り除き、取り除いた部分配列を返します。取り除く要素がなければ nil を返します。
...スを整数で指定します。Array#[] と同じです。
@param len 削除したい部分配列の長さを整数で指定します。Array#[] と同じです。
@param range 削除したい配列の範囲を Range オブジェクトで指定します。Array#[] と同じです。
@raise I... -
Array
# slice(nth) -> object | nil (104) -
指定された自身の要素を返します。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...
