ライブラリ
- ビルトイン (158)
検索結果
先頭5件
-
Enumerable
# count -> Integer (104.0) -
レシーバの要素数を返します。
レシーバの要素数を返します。
引数を指定しない場合は、レシーバの要素数を返します。
このとき、要素数を一つずつカウントします。
引数を一つ指定した場合は、レシーバの要素のうち引数に一致するものの
個数をカウントして返します(一致は == で判定します)。
ブロックを指定した場合は、ブロックを評価して真になった要素の個数を
カウントして返します。
@param item カウント対象となる値。
//emlist[例][ruby]{
enum = [1, 2, 4, 2].each
enum.count # => 4
enum.count(2) ... -
Enumerable
# count {|obj| . . . } -> Integer (104.0) -
レシーバの要素数を返します。
レシーバの要素数を返します。
引数を指定しない場合は、レシーバの要素数を返します。
このとき、要素数を一つずつカウントします。
引数を一つ指定した場合は、レシーバの要素のうち引数に一致するものの
個数をカウントして返します(一致は == で判定します)。
ブロックを指定した場合は、ブロックを評価して真になった要素の個数を
カウントして返します。
@param item カウント対象となる値。
//emlist[例][ruby]{
enum = [1, 2, 4, 2].each
enum.count # => 4
enum.count(2) ... -
Enumerable
# count(item) -> Integer (104.0) -
レシーバの要素数を返します。
レシーバの要素数を返します。
引数を指定しない場合は、レシーバの要素数を返します。
このとき、要素数を一つずつカウントします。
引数を一つ指定した場合は、レシーバの要素のうち引数に一致するものの
個数をカウントして返します(一致は == で判定します)。
ブロックを指定した場合は、ブロックを評価して真になった要素の個数を
カウントして返します。
@param item カウント対象となる値。
//emlist[例][ruby]{
enum = [1, 2, 4, 2].each
enum.count # => 4
enum.count(2) ... -
Enumerable
# find _ index {|obj| . . . } -> Integer | nil (103.0) -
条件に一致する最初の要素の位置を返します。
条件に一致する最初の要素の位置を返します。
@param val 位置を知りたいオブジェクトを指定します。
指定された val と == で等しい最初の要素の位置を返します。
等しい要素がひとつもなかった場合は nil を返します。
//emlist[例][ruby]{
(1..10).find_index(11) #=> nil
(1..10).find_index(2) #=> 1
//}
ブロックが与えられた場合には、各要素を引数として先頭から順にブロックを実行し、
ブロックが真を返した最初の要素の位置を返します。
一つも真にならなかった場合は nil を返します。
/... -
Enumerable
# find _ index(val) -> Integer | nil (103.0) -
条件に一致する最初の要素の位置を返します。
条件に一致する最初の要素の位置を返します。
@param val 位置を知りたいオブジェクトを指定します。
指定された val と == で等しい最初の要素の位置を返します。
等しい要素がひとつもなかった場合は nil を返します。
//emlist[例][ruby]{
(1..10).find_index(11) #=> nil
(1..10).find_index(2) #=> 1
//}
ブロックが与えられた場合には、各要素を引数として先頭から順にブロックを実行し、
ブロックが真を返した最初の要素の位置を返します。
一つも真にならなかった場合は nil を返します。
/... -
Enumerable
# any? -> bool (7.0) -
すべての要素が偽である場合に false を返します。 真である要素があれば、ただちに true を返します。
...# => true
p Set[].any? {|v| v > 0 } # => false
p Set['ant', 'bear', 'cat'].any?(/d/) # => false
p Set[nil, true, 99].any?(Integer) # => true
p Set[nil, true, 99].any? # => true
p Set[].any? # => false
//}
@see Array#any?......} # => true
p Set[].any? {|v| v > 0 } # => false
p Set['ant', 'bear', 'cat'].any?(/d/) # => false
p Set[nil, true, 99].any?(Integer) # => true
p Set[nil, true, 99].any? # => true
p Set[].any? # => false
//}
@see Array#any?... -
Enumerable
# any? {|item| . . . } -> bool (7.0) -
すべての要素が偽である場合に false を返します。 真である要素があれば、ただちに true を返します。
...# => true
p Set[].any? {|v| v > 0 } # => false
p Set['ant', 'bear', 'cat'].any?(/d/) # => false
p Set[nil, true, 99].any?(Integer) # => true
p Set[nil, true, 99].any? # => true
p Set[].any? # => false
//}
@see Array#any?......} # => true
p Set[].any? {|v| v > 0 } # => false
p Set['ant', 'bear', 'cat'].any?(/d/) # => false
p Set[nil, true, 99].any?(Integer) # => true
p Set[nil, true, 99].any? # => true
p Set[].any? # => false
//}
@see Array#any?... -
Enumerable
# any?(pattern) -> bool (7.0) -
すべての要素が偽である場合に false を返します。 真である要素があれば、ただちに true を返します。
...# => true
p Set[].any? {|v| v > 0 } # => false
p Set['ant', 'bear', 'cat'].any?(/d/) # => false
p Set[nil, true, 99].any?(Integer) # => true
p Set[nil, true, 99].any? # => true
p Set[].any? # => false
//}
@see Array#any?......} # => true
p Set[].any? {|v| v > 0 } # => false
p Set['ant', 'bear', 'cat'].any?(/d/) # => false
p Set[nil, true, 99].any?(Integer) # => true
p Set[nil, true, 99].any? # => true
p Set[].any? # => false
//}
@see Array#any?... -
Enumerable
# one? -> bool (7.0) -
ブロックを指定しない場合は、 Enumerable オブジェクトの要素のうち ちょうど一つだけが真であれば、真を返します。 そうでなければ偽を返します。
...ブロックを指定しない場合は、 Enumerable オブジェクトの要素のうち
ちょうど一つだけが真であれば、真を返します。
そうでなければ偽を返します。
ブロックを指定した場合は、Enumerable オブジェクトの要素を
ブロックで......# => false
Set[nil, true, 99].one? # => false
Set[nil, true, false].one? # => true
Set[nil, true, 99].one?(Integer) # => true
Set[].one? # => false
//}......lse
Set[nil, true, 99].one? # => false
Set[nil, true, false].one? # => true
Set[nil, true, 99].one?(Integer) # => true
Set[].one? # => false
//}
@see Array#one?... -
Enumerable
# one? {|obj| . . . } -> bool (7.0) -
ブロックを指定しない場合は、 Enumerable オブジェクトの要素のうち ちょうど一つだけが真であれば、真を返します。 そうでなければ偽を返します。
...ブロックを指定しない場合は、 Enumerable オブジェクトの要素のうち
ちょうど一つだけが真であれば、真を返します。
そうでなければ偽を返します。
ブロックを指定した場合は、Enumerable オブジェクトの要素を
ブロックで......# => false
Set[nil, true, 99].one? # => false
Set[nil, true, false].one? # => true
Set[nil, true, 99].one?(Integer) # => true
Set[].one? # => false
//}......lse
Set[nil, true, 99].one? # => false
Set[nil, true, false].one? # => true
Set[nil, true, 99].one?(Integer) # => true
Set[].one? # => false
//}
@see Array#one?... -
Enumerable
# one?(pattern) -> bool (7.0) -
ブロックを指定しない場合は、 Enumerable オブジェクトの要素のうち ちょうど一つだけが真であれば、真を返します。 そうでなければ偽を返します。
...ブロックを指定しない場合は、 Enumerable オブジェクトの要素のうち
ちょうど一つだけが真であれば、真を返します。
そうでなければ偽を返します。
ブロックを指定した場合は、Enumerable オブジェクトの要素を
ブロックで......# => false
Set[nil, true, 99].one? # => false
Set[nil, true, false].one? # => true
Set[nil, true, 99].one?(Integer) # => true
Set[].one? # => false
//}......lse
Set[nil, true, 99].one? # => false
Set[nil, true, false].one? # => true
Set[nil, true, 99].one?(Integer) # => true
Set[].one? # => false
//}
@see Array#one?... -
Enumerable
# sort _ by -> Enumerator (7.0) -
ブロックの評価結果を <=> メソッドで比較することで、self を昇 順にソートします。ソートされた配列を新たに生成して返します。
...][ruby]{
class Array
def sort_by
self.map {|i| [yield(i), i] }.
sort {|a, b| a[0] <=> b[0] }.
map {|i| i[1]}
end
end
//}
Enumerable#sort と比較して sort_by が優れている点として、
比較条件が複雑な場合の速度が挙げられます。
sort_by を使わ......。
//emlist[][ruby]{
class Integer
def count
$n += 1
self
end
end
ary = []
1.upto(1000) {|v| ary << rand(v) }
$n = 0
ary.sort {|a,b| a.count <=> b.count }
p $n # => 18200
$n = 0
ary.sort_by {|v| v.count }
p $n # => 1000
//}
Enumerable#sort_by は安定ではあり......できます。
//emlist[][ruby]{
i = 0
ary.sort_by {|v| [v, i += 1] }
//}
※ 比較結果が同じ要素は元の順序通りに並ぶソートを
「安定なソート (stable sort)」と言います。
ブロックを省略した場合は Enumerator を返します。
@see Enumerable#sort...