ライブラリ
- ビルトイン (293)
検索結果
先頭5件
-
Array
# dig(idx , . . . ) -> object | nil (7.0) -
self 以下のネストしたオブジェクトを dig メソッドで再帰的に参照して返し ます。途中のオブジェクトが nil であった場合は nil を返します。
...ます。
//emlist[例][ruby]{
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
[42, {foo: :bar}].dig(1, :foo) # => :bar
//}
@see Hash#dig, Struct#dig, OpenStruct#dig... -
Array
# one? -> bool (7.0) -
ブロックを指定しない場合は、 配列の要素のうち ちょうど一つだけが真であれば、真を返します。 そうでなければ偽を返します。
...# => false
[ nil, true, 99 ].one? # => false
[ nil, true, false ].one? # => true
[ nil, true, 99 ].one?(Integer) # => true
[].one? # => false
//}
@see Enumerable#one?... -
Array
# one? {|obj| . . . } -> bool (7.0) -
ブロックを指定しない場合は、 配列の要素のうち ちょうど一つだけが真であれば、真を返します。 そうでなければ偽を返します。
...# => false
[ nil, true, 99 ].one? # => false
[ nil, true, false ].one? # => true
[ nil, true, 99 ].one?(Integer) # => true
[].one? # => false
//}
@see Enumerable#one?... -
Array
# one?(pattern) -> bool (7.0) -
ブロックを指定しない場合は、 配列の要素のうち ちょうど一つだけが真であれば、真を返します。 そうでなければ偽を返します。
...# => false
[ nil, true, 99 ].one? # => false
[ nil, true, false ].one? # => true
[ nil, true, 99 ].one?(Integer) # => true
[].one? # => false
//}
@see Enumerable#one?... -
Array
# sum(init=0) -> object (7.0) -
要素の合計を返します。例えば [e1, e2, e3].sum は init + e1 + e2 + e3 を返します。
...列の配列の場合 Array#join や Array#flatten の方が Array#sum よりも高速です。
//emlist[例][ruby]{
["a", "b", "c"].join #=> "abc"
[[1], [[2]], [3]].flatten(1) #=> [1, [2], 3]
//}
"+" メソッドが再定義されている場合、Array#sum は再定義を無......視することがあります(例えば Integer#+)。
@see Enumerable#sum... -
Array
# sum(init=0) {|e| expr } -> object (7.0) -
要素の合計を返します。例えば [e1, e2, e3].sum は init + e1 + e2 + e3 を返します。
...列の配列の場合 Array#join や Array#flatten の方が Array#sum よりも高速です。
//emlist[例][ruby]{
["a", "b", "c"].join #=> "abc"
[[1], [[2]], [3]].flatten(1) #=> [1, [2], 3]
//}
"+" メソッドが再定義されている場合、Array#sum は再定義を無......視することがあります(例えば Integer#+)。
@see Enumerable#sum... -
Array
# find _ index -> Enumerator (5.0) -
条件に一致する最初の要素の位置を返します。
...返します。
一つも真にならなかった場合は nil を返します。
//emlist[例][ruby]{
p [0, 1, 0, 1, 0].index {|v| v > 0} #=> 1
//}
引数、ブロックのどちらも与えられなかった場合は、
Enumerator のインスタンスを返します。
@see Array#rindex... -
Array
# index -> Enumerator (5.0) -
条件に一致する最初の要素の位置を返します。
...返します。
一つも真にならなかった場合は nil を返します。
//emlist[例][ruby]{
p [0, 1, 0, 1, 0].index {|v| v > 0} #=> 1
//}
引数、ブロックのどちらも与えられなかった場合は、
Enumerator のインスタンスを返します。
@see Array#rindex... -
Array
# rindex -> Enumerator (3.0) -
指定された val と == で等しい最後の要素の位置を返します。 等しい要素がひとつもなかった時には nil を返します。
...Enumerator オブジェクトを返します。
@param val オブジェクトを指定します。
//emlist[例][ruby]{
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
# bsearch _ index -> Enumerator (2.0) -
ブロックの評価結果で範囲内の各要素の判定を行い、条件を満たす値の位置を 二分探索(計算量は O(log n))で検索します。要素が見つからない場合は nil を返します。self はあらかじめソートしておく必要があります。
...メソッドはArray#bsearchと同様に、ブロックを評価した結果により2
つのモードで動作します。Array#bsearch との違いは見つかった要素自
身を返すか位置を返すかのみです。各モードのより詳細な違いについては
Array#bsearch を参照......>= 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......| 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...