キーワード
- [] (36)
- abbrev (12)
- all? (7)
- any? (8)
- bsearch (12)
-
bsearch
_ index (10) - collect (12)
- collect! (12)
- combination (24)
- concat (21)
- cycle (12)
-
delete
_ at (12) -
delete
_ if (12) -
drop
_ while (12) - each (12)
-
each
_ index (12) -
fetch
_ values (2) - filter (7)
- filter! (7)
-
find
_ index (12) - flatten (12)
- flatten! (12)
- index (12)
-
keep
_ if (12) - map (12)
- map! (12)
- none? (7)
- one? (7)
- pack (21)
- permutation (24)
- reject (12)
- reject! (12)
-
repeated
_ combination (24) -
repeated
_ permutation (24) -
reverse
_ each (12) - rindex (12)
- rotate (12)
- rotate! (12)
- select (12)
- select! (12)
-
sort
_ by! (12) -
take
_ while (12) -
values
_ at (12)
検索結果
先頭5件
-
Array
# flatten!(lv = nil) -> self | nil (15209.0) -
flatten は自身を再帰的に平坦化した配列を生成して返します。flatten! は 自身を再帰的かつ破壊的に平坦化し、平坦化が行われた場合は self をそうでない 場合は nil を返します。 lv が指定された場合、lv の深さまで再帰的に平坦化します。
...flatten は自身を再帰的に平坦化した配列を生成して返します。flatten! は
自身を再帰的かつ破壊的に平坦化し、平坦化が行われた場合は self をそうでない
場合は nil を返します。
lv が指定された場合、lv の深さまで再帰的に......要素が自身を含むような無限にネストした配列に対して flatten を呼んだ場合に発生します。
//emlist[例][ruby]{
# 自身を再帰的に平坦化する例。
a = [1, [2, 3, [4], 5]]
p a.flatten #=> [1, 2, 3, 4, 5]
p a #......[2, 3]]]]
p a.flatten! #=> [1, 2, 3]
p a #=> [1, 2, 3]
# 平坦化が行われない場合は nil を返す。
p [1, 2, 3].flatten! #=> nil
# 平坦化の再帰の深さを指定する例。
a = [ 1, 2, [3, [4, 5] ] ]
a.flatten(1)... -
Array
# pack(template) -> String (10114.0) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
...配列の内容を template で指定された文字列にしたがって、
バイナリとしてパックした文字列を返します。
テンプレートは
型指定文字列とその長さ(省略時は1)を並べたものです。長さと
して * が指定された時は「残りのデ......レート文字列の通りです。
buffer が指定されていれば、バッファとして使って返値として返します。
もし template の最初にオフセット (@) が指定されていれば、
結果はオフセットの後ろから詰められます。
buffer の元の内容......capacity)が足りなければ、packはメモリを確保します。
//emlist[例][ruby]{
['!'].pack('@1a', buffer: 'abc') # => "a!"
['!'].pack('@5a', buffer: 'abc') # => "abc\u0000\u0000!"
//}
@param template 自身のバイナリとしてパックするためのテンプレートを文字列... -
Array
# pack(template , buffer: String . new) -> String (10114.0) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
...配列の内容を template で指定された文字列にしたがって、
バイナリとしてパックした文字列を返します。
テンプレートは
型指定文字列とその長さ(省略時は1)を並べたものです。長さと
して * が指定された時は「残りのデ......レート文字列の通りです。
buffer が指定されていれば、バッファとして使って返値として返します。
もし template の最初にオフセット (@) が指定されていれば、
結果はオフセットの後ろから詰められます。
buffer の元の内容......capacity)が足りなければ、packはメモリを確保します。
//emlist[例][ruby]{
['!'].pack('@1a', buffer: 'abc') # => "a!"
['!'].pack('@5a', buffer: 'abc') # => "abc\u0000\u0000!"
//}
@param template 自身のバイナリとしてパックするためのテンプレートを文字列... -
Array
# pack(template) -> String (10108.0) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
...配列の内容を template で指定された文字列にしたがって、
バイナリとしてパックした文字列を返します。
テンプレートは
型指定文字列とその長さ(省略時は1)を並べたものです。長さと
して * が指定された時は「残りのデ......述べる pack テンプレート文字列の通りです。
@param template 自身のバイナリとしてパックするためのテンプレートを文字列で指定します。
以下にあげるものは、Array#pack、String#unpack
のテンプレート文字の一覧です。テンプ......明
説明中、Array#pack と String#unpack で違いのあるものは `/' で区切って
「Array#pack の説明 / String#unpack の説明」としています。
: a
ASCII文字列(ヌル文字を詰める/後続するヌル文字やスペースを残す)
//emlist[][ruby]{
["abc"].pack("a"... -
Array
# bsearch -> Enumerator (9280.0) -
ブロックの評価結果で範囲内の各要素の判定を行い、条件を満たす値を二分探 索(計算量は O(log n))で検索します。要素が見つからない場合は nil を返し ます。self はあらかじめソートしておく必要があります。
...本メソッドはブロックを評価した結果により以下のいずれかのモードで動作し
ます。
* find-minimum モード
* find-any モード
find-minimum モード(特に理由がない限りはこのモードを使う方がいいでしょ
う)では、条件判定の結......要素を返すか、nil を返します。
//emlist[例][ruby]{
ary = [0, 4, 7, 10, 12]
ary.bsearch {|x| x >= 4 } # => 4
ary.bsearch {|x| x >= 6 } # => 7
ary.bsearch {|x| x >= -1 } # => 0
ary.bsearch {|x| x >= 100 } # => nil
//}
find-any モードは bsearch(3) のように動作します。......ブロックは真偽値
ではなく、以下のような数値を返す必要があります。求める要素が配列の i 番目
から j-1 番目までに入っているとします。またブロックパラメータの値の
インデックスを k とします。
* ブロックパラメ... -
Array
# bsearch _ index -> Enumerator (9268.0) -
ブロックの評価結果で範囲内の各要素の判定を行い、条件を満たす値の位置を 二分探索(計算量は O(log n))で検索します。要素が見つからない場合は nil を返します。self はあらかじめソートしておく必要があります。
...メソッドはArray#bsearchと同様に、ブロックを評価した結果により2
つのモードで動作します。Array#bsearch との違いは見つかった要素自
身を返すか位置を返すかのみです。各モードのより詳細な違いについては
Array#bsearch を参照......//emlist[例: find-minimum モード][ruby]{
ary = [0, 4, 7, 10, 12]
ary.bsearch_index { |x| x >= 4 } # => 1
ary.bsearch_index { |x| x >= 6 } # => 2
ary.bsearch_index { |x| x >= -1 } # => 0
ary.bsearch_index { |x| 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
# fetch _ values(*indexes) -> Array (9240.0) -
引数で指定されたインデックスに対する値の配列を返します。
...mlist[例][ruby]{
ary = ["a", "b", "c"]
ary.fetch_values(0, 2) # => ["a", "c"]
ary.fetch_values(-1, 1) # => ["d", "b"]
ary.fetch_values(0, 10) # => index 10 outside of array bounds: -3...3 (IndexError)
ary.fetch_values(0, 10) { |i| i.to_s } # => ["a", "10"]
//}
@see Array#values_at, Array#fetch... -
Array
# fetch _ values(*indexes) { |index| . . . } -> Array (9240.0) -
引数で指定されたインデックスに対する値の配列を返します。
...mlist[例][ruby]{
ary = ["a", "b", "c"]
ary.fetch_values(0, 2) # => ["a", "c"]
ary.fetch_values(-1, 1) # => ["d", "b"]
ary.fetch_values(0, 10) # => index 10 outside of array bounds: -3...3 (IndexError)
ary.fetch_values(0, 10) { |i| i.to_s } # => ["a", "10"]
//}
@see Array#values_at, Array#fetch... -
Array
# keep _ if -> Enumerator (9238.0) -
ブロックが真を返した要素を残し、偽を返した要素を自身から削除します。
...[例][ruby]{
a = %w{ a b c d e f }
a.keep_if {|v| v =~ /[aeiou]/} # => ["a", "e"]
a # => ["a", "e"]
//}
keep_if は常に self を返しますが、Array#select! は要素が 1 つ以上削除されれば self を、
1 つも削除されなければ nil を返します。
//emlist[例][ruby]{
a......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#delete_if... -
Array
# [](range) -> Array | nil (9228.0) -
Range オブジェクト range の範囲にある要素からなる部分配列を返します。 range の begin が自身の範囲外となる時は nil を返します。ただし、begin が配列の長さに等しいときは空の配列を返します。 range の begin が end より後にある場合には空の配列を返します。
... -1 番目になります。
end の値が配列の範囲を越える時には、越えた分は無視されます。
//emlist[例][ruby]{
a = [ "a", "b", "c", "d", "e" ]
a[0..1] #=> ["a", "b"]
a[0...1] #=> ["a"]
a[0..-1] #=> ["a", "b", "c", "d", "e"]
a[-2..-1] #=> ["d", "e"]
a[-2........4] #=> ["d", "e"] (start は末尾から -2 番目、end は先頭から (4+1) 番目となる。)
a[0..10] #=> ["a", "b", "c", "d", "e"]
a[10..11] #=> nil
a[2..1] #=> []
a[-1..-2] #=> []
# 特殊なケース。begin が自身の長さと同じ場合には以下のようになります。
a[5... -
Array
# [](start , length) -> Array | nil (9228.0) -
start 番目から length 個の要素を含む部分配列を返します。 start が自身の範囲外となる時は nil を返します。ただし、start が配列の長さに等しいときは空の配列を返します。 length が負の時は nil を返します。
...指定します。
start の値が負の時には末尾からのインデックスと見倣します。
末尾の要素が -1 番目になります。
整数以外のオブジェクトを指定した場合は to_int メソッドによ
る暗黙の......を
指定した場合に発生します。
//emlist[例][ruby]{
a = [ "a", "b", "c", "d", "e" ]
a[0, 1] #=> ["a"]
a[-1, 1] #=> ["e"]
a[0, 10] #=> ["a", "b", "c", "d", "e"]
a[0, 0] #=> []
a[0, -1] #=> nil
a[10, 1] #=> nil
# 特殊なケース。start が自身の長... -
Array
# filter! -> Enumerator (9226.0) -
ブロックが真を返した要素を残し、偽を返した要素を自身から削除します。 変更があった場合は self を、 変更がなかった場合には nil を返します。
...//emlist[例][ruby]{
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#reject!... -
Array
# select! -> Enumerator (9226.0) -
ブロックが真を返した要素を残し、偽を返した要素を自身から削除します。 変更があった場合は self を、 変更がなかった場合には nil を返します。
...//emlist[例][ruby]{
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#reject!...