種類
- インスタンスメソッド (220)
- 特異メソッド (18)
- クラス (11)
ライブラリ
- ビルトイン (249)
クラス
- Enumerator (29)
-
Enumerator
:: Chain (6) -
Enumerator
:: Lazy (75) - Float (22)
- Numeric (73)
- Range (22)
モジュール
- Enumerable (11)
検索結果
先頭5件
- Enumerator
:: Lazy # enum _ for(method = :each , *args) {|*args| block} -> Enumerator :: Lazy - Enumerator
:: Lazy # to _ enum(method = :each , *args) -> Enumerator :: Lazy - Enumerator
:: Lazy # to _ enum(method = :each , *args) {|*args| block} -> Enumerator :: Lazy - Enumerator
. new(obj , method = :each , *args) -> Enumerator - Enumerator
:: Lazy # lazy -> self
-
Enumerator
:: Lazy # enum _ for(method = :each , *args) {|*args| block} -> Enumerator :: Lazy (11106.0) -
Object#to_enum と同じですが、Enumerator::Lazy を返します。
...Object#to_enum と同じですが、Enumerator::Lazy を返します。
to_enum は「ブロック付きで呼ぶとループを実行し、ブロックを省略した場合は
Enumerator を返す」ようなメソッドを定義するときによく使われます。
このときに lazy 性が......正しく引き継がれるように、Lazy#to_enum は
素のEnumerator ではなく Enumerator::Lazy を返すようになっています。
//emlist[例][ruby]{
module Enumerable
# 要素をn回ずつ繰り返すメソッド
# 例:[1,2,3].repeat(2) #=> [1,1,2,2,3,3]
def repeat(n)
ra......map{|n| n**2}.repeat(2).first(5)
#=> [1, 1, 4, 4, 9]
r = 1..Float::INFINITY
p r.lazy.map{|n| n**2}.repeat(2).first(5)
#=> [1, 1, 4, 4, 9]
# Lazy#to_enum のおかげで、repeat の返り値は
# もとが Enumerator のときは Enumerator に、
# もとが Lazy のときは Lazy になる
//}... -
Enumerator
:: Lazy # to _ enum(method = :each , *args) -> Enumerator :: Lazy (11106.0) -
Object#to_enum と同じですが、Enumerator::Lazy を返します。
...Object#to_enum と同じですが、Enumerator::Lazy を返します。
to_enum は「ブロック付きで呼ぶとループを実行し、ブロックを省略した場合は
Enumerator を返す」ようなメソッドを定義するときによく使われます。
このときに lazy 性が......正しく引き継がれるように、Lazy#to_enum は
素のEnumerator ではなく Enumerator::Lazy を返すようになっています。
//emlist[例][ruby]{
module Enumerable
# 要素をn回ずつ繰り返すメソッド
# 例:[1,2,3].repeat(2) #=> [1,1,2,2,3,3]
def repeat(n)
ra......map{|n| n**2}.repeat(2).first(5)
#=> [1, 1, 4, 4, 9]
r = 1..Float::INFINITY
p r.lazy.map{|n| n**2}.repeat(2).first(5)
#=> [1, 1, 4, 4, 9]
# Lazy#to_enum のおかげで、repeat の返り値は
# もとが Enumerator のときは Enumerator に、
# もとが Lazy のときは Lazy になる
//}... -
Enumerator
:: Lazy # to _ enum(method = :each , *args) {|*args| block} -> Enumerator :: Lazy (11106.0) -
Object#to_enum と同じですが、Enumerator::Lazy を返します。
...Object#to_enum と同じですが、Enumerator::Lazy を返します。
to_enum は「ブロック付きで呼ぶとループを実行し、ブロックを省略した場合は
Enumerator を返す」ようなメソッドを定義するときによく使われます。
このときに lazy 性が......正しく引き継がれるように、Lazy#to_enum は
素のEnumerator ではなく Enumerator::Lazy を返すようになっています。
//emlist[例][ruby]{
module Enumerable
# 要素をn回ずつ繰り返すメソッド
# 例:[1,2,3].repeat(2) #=> [1,1,2,2,3,3]
def repeat(n)
ra......map{|n| n**2}.repeat(2).first(5)
#=> [1, 1, 4, 4, 9]
r = 1..Float::INFINITY
p r.lazy.map{|n| n**2}.repeat(2).first(5)
#=> [1, 1, 4, 4, 9]
# Lazy#to_enum のおかげで、repeat の返り値は
# もとが Enumerator のときは Enumerator に、
# もとが Lazy のときは Lazy になる
//}... -
Enumerator
. new(obj , method = :each , *args) -> Enumerator (11101.0) -
オブジェクト obj について、 each の代わりに method という 名前のメソッドを使って繰り返すオブジェクトを生成して返します。 args を指定すると、 method の呼び出し時に渡されます。
...method イテレータメソッドの名前を表すシンボルまたは文字列
@param args イテレータメソッドの呼び出しに渡す任意個の引数
//emlist[例][ruby]{
str = "xyz"
enum = Enumerator.new(str, :each_byte)
p enum.map {|b| '%02x' % b } # => ["78", "79", "7a"]
//}... -
Enumerator
:: Lazy # lazy -> self (11006.0) -
self を返します。
...self を返します。
//emlist[例][ruby]{
lazy = (100..Float::INFINITY).lazy
p lazy.lazy # => #<Enumerator::Lazy: 100..Infinity>
p lazy == lazy.lazy # => true
//}... -
Numeric
# step(by: 1 , to: Float :: INFINITY) -> Enumerator (8234.0) -
self からはじめ step を足しながら limit を越える 前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども 指定できます。
...ながら limit を越える
前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども
指定できます。
@param limit ループの上限あるいは下限を数値で指定します。step に負の数が指定された......あれば Float::INFINITY、負の数であれば
-Float::INFINITYを指定したとみなされます。
@param by 引数 step と同じです。
@return ブロックが指定された時は self を返します。
@return ブロックが指定されなかった時は Enumerator を返......します。
@return 特に limit (または to) と step の両方が Numeric または nil の時は
Enumerator::ArithmeticSequence を返します。
@raise ArgumentError step に 0 を指定した場合に発生します。
//emlist[例][ruby]{
2.step(5){|n| p n}
2
3
4
5
1.1.step(1.5... -
Numeric
# step(by: 1 , to: Float :: INFINITY) -> Enumerator :: ArithmeticSequence (8234.0) -
self からはじめ step を足しながら limit を越える 前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども 指定できます。
...ながら limit を越える
前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども
指定できます。
@param limit ループの上限あるいは下限を数値で指定します。step に負の数が指定された......あれば Float::INFINITY、負の数であれば
-Float::INFINITYを指定したとみなされます。
@param by 引数 step と同じです。
@return ブロックが指定された時は self を返します。
@return ブロックが指定されなかった時は Enumerator を返......します。
@return 特に limit (または to) と step の両方が Numeric または nil の時は
Enumerator::ArithmeticSequence を返します。
@raise ArgumentError step に 0 を指定した場合に発生します。
//emlist[例][ruby]{
2.step(5){|n| p n}
2
3
4
5
1.1.step(1.5... -
Numeric
# step(by: , to: -Float :: INFINITY) -> Enumerator (8234.0) -
self からはじめ step を足しながら limit を越える 前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども 指定できます。
...ながら limit を越える
前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども
指定できます。
@param limit ループの上限あるいは下限を数値で指定します。step に負の数が指定された......あれば Float::INFINITY、負の数であれば
-Float::INFINITYを指定したとみなされます。
@param by 引数 step と同じです。
@return ブロックが指定された時は self を返します。
@return ブロックが指定されなかった時は Enumerator を返......します。
@return 特に limit (または to) と step の両方が Numeric または nil の時は
Enumerator::ArithmeticSequence を返します。
@raise ArgumentError step に 0 を指定した場合に発生します。
//emlist[例][ruby]{
2.step(5){|n| p n}
2
3
4
5
1.1.step(1.5... -
Numeric
# step(by: , to: -Float :: INFINITY) -> Enumerator :: ArithmeticSequence (8234.0) -
self からはじめ step を足しながら limit を越える 前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども 指定できます。
...ながら limit を越える
前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども
指定できます。
@param limit ループの上限あるいは下限を数値で指定します。step に負の数が指定された......あれば Float::INFINITY、負の数であれば
-Float::INFINITYを指定したとみなされます。
@param by 引数 step と同じです。
@return ブロックが指定された時は self を返します。
@return ブロックが指定されなかった時は Enumerator を返......します。
@return 特に limit (または to) と step の両方が Numeric または nil の時は
Enumerator::ArithmeticSequence を返します。
@raise ArgumentError step に 0 を指定した場合に発生します。
//emlist[例][ruby]{
2.step(5){|n| p n}
2
3
4
5
1.1.step(1.5... -
Numeric
# step(by: 1 , to: Float :: INFINITY) -> Enumerator (8232.0) -
self からはじめ step を足しながら limit を越える 前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども 指定できます。
...ながら limit を越える
前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども
指定できます。
@param limit ループの上限あるいは下限を数値で指定します。step に負の数が指定された......あれば Float::INFINITY、負の数であれば
-Float::INFINITYを指定したとみなされます。
@param by 引数 step と同じです。
@return ブロックが指定された時は self を返します。
@return ブロックが指定されなかった時は Enumerator を返... -
Numeric
# step(by: , to: -Float :: INFINITY) -> Enumerator (8232.0) -
self からはじめ step を足しながら limit を越える 前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども 指定できます。
...ながら limit を越える
前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども
指定できます。
@param limit ループの上限あるいは下限を数値で指定します。step に負の数が指定された......あれば Float::INFINITY、負の数であれば
-Float::INFINITYを指定したとみなされます。
@param by 引数 step と同じです。
@return ブロックが指定された時は self を返します。
@return ブロックが指定されなかった時は Enumerator を返... -
Numeric
# step(limit , step = 1) -> Enumerator (8134.0) -
self からはじめ step を足しながら limit を越える 前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども 指定できます。
...ながら limit を越える
前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども
指定できます。
@param limit ループの上限あるいは下限を数値で指定します。step に負の数が指定された......あれば Float::INFINITY、負の数であれば
-Float::INFINITYを指定したとみなされます。
@param by 引数 step と同じです。
@return ブロックが指定された時は self を返します。
@return ブロックが指定されなかった時は Enumerator を返......します。
@return 特に limit (または to) と step の両方が Numeric または nil の時は
Enumerator::ArithmeticSequence を返します。
@raise ArgumentError step に 0 を指定した場合に発生します。
//emlist[例][ruby]{
2.step(5){|n| p n}
2
3
4
5
1.1.step(1.5... -
Numeric
# step(limit , step = 1) -> Enumerator :: ArithmeticSequence (8134.0) -
self からはじめ step を足しながら limit を越える 前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども 指定できます。
...ながら limit を越える
前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども
指定できます。
@param limit ループの上限あるいは下限を数値で指定します。step に負の数が指定された......あれば Float::INFINITY、負の数であれば
-Float::INFINITYを指定したとみなされます。
@param by 引数 step と同じです。
@return ブロックが指定された時は self を返します。
@return ブロックが指定されなかった時は Enumerator を返......します。
@return 特に limit (または to) と step の両方が Numeric または nil の時は
Enumerator::ArithmeticSequence を返します。
@raise ArgumentError step に 0 を指定した場合に発生します。
//emlist[例][ruby]{
2.step(5){|n| p n}
2
3
4
5
1.1.step(1.5... -
Numeric
# step(limit , step = 1) -> Enumerator (8132.0) -
self からはじめ step を足しながら limit を越える 前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども 指定できます。
...ながら limit を越える
前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども
指定できます。
@param limit ループの上限あるいは下限を数値で指定します。step に負の数が指定された......あれば Float::INFINITY、負の数であれば
-Float::INFINITYを指定したとみなされます。
@param by 引数 step と同じです。
@return ブロックが指定された時は self を返します。
@return ブロックが指定されなかった時は Enumerator を返... -
Enumerable
# lazy -> Enumerator :: Lazy (8106.0) -
自身を lazy な Enumerator に変換したものを返します。
...自身を lazy な Enumerator に変換したものを返します。
この Enumerator は、以下のメソッドが遅延評価を行う (つまり、配列ではな
くEnumeratorを返す) ように再定義されています。
* map/collect
* flat_map/collect_concat
* select/find_all
*......*2 + b**2 = c**2 を満たす自然数 a, b, c の組) を
列挙するプログラムです。
//emlist[例][ruby]{
def pythagorean_triples
(1..Float::INFINITY).lazy.flat_map {|z|
(1..z).flat_map {|x|
(x..z).select {|y|
x**2 + y**2 == z**2
}.map {|y|
[x, y, z]......数を表示する
p pythagorean_triples.take(10).force # takeはlazyなので、forceが必要です
p pythagorean_triples.first(10) # firstはeagerです
# 100より小さいピタゴラス数を表示する
p pythagorean_triples.take_while { |*, z| z < 100 }.force
//}
@see Enumerator::Lazy...