ライブラリ
クラス
-
ARGF
. class (238) - Array (625)
- Date (66)
- Dir (34)
- Enumerator (171)
-
Enumerator
:: ArithmeticSequence (84) -
Enumerator
:: Chain (30) -
Enumerator
:: Lazy (378) -
Enumerator
:: Yielder (27) -
Gem
:: SourceIndex (22) - Hash (310)
- IO (282)
- Integer (66)
- Matrix (178)
- Numeric (84)
- Object (70)
- OpenStruct (22)
- Pathname (114)
- Prime (22)
-
Prime
:: PseudoPrimeGenerator (77) -
Psych
:: Nodes :: Node (22) -
REXML
:: Parent (88) - Range (84)
- StopIteration (11)
- String (190)
- StringIO (166)
- Struct (78)
- Vector (145)
-
Zlib
:: GzipReader (66)
モジュール
- Enumerable (721)
- TSort (60)
キーワード
- % (12)
- + (6)
- << (11)
- == (6)
- ascend (22)
- begin (6)
- bsearch (44)
-
bsearch
_ index (18) - bytes (42)
- chain (6)
- chars (42)
- chunk (33)
-
chunk
_ while (19) - codepoints (42)
- collect (99)
- collect! (46)
- collect2 (22)
-
collect
_ concat (33) - combination (22)
- compact (3)
- cycle (44)
-
delete
_ if (66) - descend (22)
- detect (22)
- downto (44)
- drop (11)
-
drop
_ while (55) - each (464)
- each2 (22)
-
each
_ byte (110) -
each
_ char (88) -
each
_ child (56) -
each
_ codepoint (88) -
each
_ cons (22) -
each
_ entry (26) -
each
_ grapheme _ cluster (14) -
each
_ index (44) -
each
_ key (22) -
each
_ line (198) -
each
_ pair (66) -
each
_ slice (22) -
each
_ strongly _ connected _ component (20) -
each
_ strongly _ connected _ component _ from (20) -
each
_ value (22) -
each
_ with _ index (66) -
each
_ with _ object (22) - eager (5)
- end (6)
-
enum
_ for (44) -
exclude
_ end? (6) - feed (11)
- filter (54)
- filter! (24)
-
filter
_ map (15) - find (44)
-
find
_ all (33) -
find
_ index (99) - first (12)
-
flat
_ map (33) - force (11)
- grep (11)
-
grep
_ v (9) -
group
_ by (22) - gsub (44)
- gsub! (44)
- hash (6)
- index (66)
- inspect (12)
-
keep
_ if (44) - last (12)
- lazy (22)
- lines (98)
- map (99)
- map! (46)
- map2 (11)
-
max
_ by (44) -
min
_ by (44) -
minmax
_ by (22) - next (11)
-
next
_ values (11) - partition (22)
- peek (11)
-
peek
_ values (11) - permutation (22)
- reject (77)
- reject! (44)
-
repeated
_ combination (22) -
repeated
_ permutation (22) - result (11)
-
reverse
_ each (44) - rewind (28)
- rindex (33)
- select (99)
- select! (44)
- size (23)
-
slice
_ after (42) -
slice
_ before (55) -
slice
_ when (21) -
sort
_ by (22) -
sort
_ by! (22) - step (140)
- take (11)
-
take
_ while (66) - then (12)
- times (22)
-
to
_ enum (44) -
to
_ proc (5) -
transform
_ keys (17) -
transform
_ keys! (17) -
transform
_ values (16) -
transform
_ values! (16) -
tsort
_ each (20) - uniq (16)
- upto (44)
-
with
_ index (54) -
with
_ object (44) - yield (11)
-
yield
_ self (14) - zip (22)
検索結果
先頭5件
-
Enumerator
# with _ index(offset = 0) {|(*args) , idx| . . . } -> object (21014.0) -
生成時のパラメータに従って、要素にインデックスを添えて繰り返します。 インデックスは offset から始まります。
...ブロックを指定した場合の戻り値は生成時に指定したレシーバ自身です。
//emlist[例][ruby]{
str = "xyz"
enum = Enumerator.new {|y| str.each_byte {|b| y << b }}
enum.with_index {|byte, idx| p [byte, idx] }
# => [120, 0]
# [121, 1]
# [122, 2]
require......ータに従って、要素にインデックスを添えてブロックを繰り返します。
インデックスは 0 から始まります。
Enumerator#with_index は offset 引数を受け取りますが、
each_with_index は受け取りません (引数はイテレータメソッドにその... -
Enumerator
# size -> Integer | Float :: INFINITY | nil (21013.0) -
self の要素数を返します。
...self の要素数を返します。
要素数が無限の場合は Float::INFINITY を返します。
Enumerator.new に Proc オブジェクトを指定していた場合はその
実行結果を返します。呼び出した時に要素数が不明であった場合は nil を返し
ます。
/....../emlist[例][ruby]{
(1..100).to_a.permutation(4).size # => 94109400
loop.size # => Float::INFINITY
(1..100).drop_while.size # => nil
//}
@see Enumerator.new... -
Enumerator
# each -> self (21008.0) -
生成時のパラメータに従ってブロックを繰り返します。 *args を渡した場合は、生成時のパラメータ内引数末尾へ *args を追加した状態で繰り返します。 ブロック付きで呼び出された場合は、 生成時に指定したイテレータの戻り値をそのまま返します。
...戻り値をそのまま返します。
@param args 末尾へ追加する引数
//emlist[例1][ruby]{
str = "Yet Another Ruby Hacker"
enum = Enumerator.new {|y| str.scan(/\w+/) {|w| y << w }}
enum.each {|word| p word } # => "Yet"
# "Another"... -
Enumerator
# each { . . . } -> object (21008.0) -
生成時のパラメータに従ってブロックを繰り返します。 *args を渡した場合は、生成時のパラメータ内引数末尾へ *args を追加した状態で繰り返します。 ブロック付きで呼び出された場合は、 生成時に指定したイテレータの戻り値をそのまま返します。
...戻り値をそのまま返します。
@param args 末尾へ追加する引数
//emlist[例1][ruby]{
str = "Yet Another Ruby Hacker"
enum = Enumerator.new {|y| str.scan(/\w+/) {|w| y << w }}
enum.each {|word| p word } # => "Yet"
# "Another"... -
Enumerator
# each(*args) { . . . } -> object (21008.0) -
生成時のパラメータに従ってブロックを繰り返します。 *args を渡した場合は、生成時のパラメータ内引数末尾へ *args を追加した状態で繰り返します。 ブロック付きで呼び出された場合は、 生成時に指定したイテレータの戻り値をそのまま返します。
...戻り値をそのまま返します。
@param args 末尾へ追加する引数
//emlist[例1][ruby]{
str = "Yet Another Ruby Hacker"
enum = Enumerator.new {|y| str.scan(/\w+/) {|w| y << w }}
enum.each {|word| p word } # => "Yet"
# "Another"... -
Enumerator
# next -> object (21007.0) -
「次」のオブジェクトを返します。
...用を
伴っている場合には影響があり得ます。
@raise StopIteration 列挙状態が既に最後へ到達しているとき
@see Enumerator#rewind
//emlist[例1][ruby]{
str = "xyz"
enum = str.each_byte
str.bytesize.times do
puts enum.next
end
# => 120
# 121
# 122... -
Enumerator
# rewind -> self (21007.0) -
列挙状態を巻き戻します。
...が rewind メソッドを持つとき(respond_to?(:rewind) に
真を返すとき) は、その rewind メソッドを呼び出します。
@see Enumerator#next
//emlist[例][ruby]{
str = "xyz"
enum = str.each_byte
p enum.next # => 120
p enum.next # => 121
enum.rewind
p enum.next # => 120
//}... -
Enumerator
:: Lazy # enum _ for(method = :each , *args) -> Enumerator :: Lazy (3151.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 # enum _ for(method = :each , *args) {|*args| block} -> Enumerator :: Lazy (3151.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 (3151.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 になる
//}...