るりまサーチ

最速Rubyリファレンスマニュアル検索!
144件ヒット [1-100件を表示] (0.080秒)
トップページ > ライブラリ:ビルトイン[x] > クエリ:p[x] > クラス:Enumerator[x]

別のキーワード

  1. openssl p
  2. openssl p=
  3. fileutils mkdir_p
  4. dh p
  5. rsa p

キーワード

検索結果

<< 1 2 > >>

Enumerator.produce(initial = nil) { |prev| ... } -> Enumerator (6203.0)

与えられたブロックを呼び出し続ける、停止しない Enumerator を返します。 ブロックの戻り値が、次にブロックを呼び出す時に引数として渡されます。 initial 引数が渡された場合、最初にブロックを呼び出す時にそれがブロック 呼び出しの引数として渡されます。initial が渡されなかった場合は nil が 渡されます。

...与えられたブロックを呼び出し続ける、停止しない Enumerator を返します。
ブロックの戻り値が、次にブロックを呼び出す時に引数として渡されます。
initial 引数が渡された場合、最初にブロックを呼び出す時にそれがブロ...
...ブロックが例外 StopIterationを投げた場合、繰り返しが終了します。

@param initial ブロックに最初に渡される値です。任意のオブジェクトを渡せます。

//emlist[例][ruby]{
# 1, 2, 3, 4, ... と続く Enumerator
Enumerator
.produce(1, &:succ)

# next...
...ンダムな数値を返す Enumerator
Enumerator
.produce { rand(10) }

# ツリー構造の祖先ノードを列挙する Enumerator
ancestors = Enumerator.produce(node) { |prev| node = prev.parent or raise StopIteration }
enclosing_section = ancestors.find { |n| n.type == :section }
//}

このメ...

Enumerator#peek -> object (6145.0)

「次」のオブジェクトを返しますが、列挙状態を変化させません。

...状態を変化させません。

Enumerator
#next のように
現在までの列挙状態に応じて「次」のオブジェクトを返しますが、
next と異なり列挙状態を変更しません。

列挙が既に最後へ到達している場合は、StopIteration 例外を発生しま...
...e = a.to_enum
p
e.next #=> 1
p
e.peek #=> 2
p
e.peek #=> 2
p
e.peek #=> 2
p
e.next #=> 2
p
e.next #=> 3
p
e.next #raises StopIteration
//}

@raise StopIteration 列挙状態が既に最後へ到達しているとき
@see Enumerator#next, Enumerator#next_values, Enumerator#peek_values...

Enumerator#peek_values -> Array (6133.0)

Enumerator#next_values のように「次」のオブジェクトを 配列で返しますが、列挙状態を変化させません。

...
Enumerator
#next_values のように「次」のオブジェクトを
配列で返しますが、列挙状態を変化させません。

Enumerator
#next, Enumerator#next_values のように
現在までの列挙状態に応じて「次」のオブジェクトを返しますが、
next と異なり...
...StopIteration 例外を発生します。

このメソッドは Enumerator#next_values と同様
yield

yield nil
を区別するために使えます。

//emlist[例][ruby]{
o = Object.new
def o.each
yield
yield 1
yield 1, 2
end
e = o.to_enum
p
e.peek_values #=> []
e.next
p
e.peek...
..._values #=> [1]
p
e.peek_values #=> [1]
e.next
p
e.peek_values #=> [1, 2]
e.next
p
e.peek_values # raises StopIteration
//}

@raise StopIteration 列挙状態が既に最後へ到達しているとき
@see Enumerator#next, Enumerator#next_values, Enumerator#peek_values...

Enumerator#next_values -> Array (63.0)

「次」のオブジェクトを配列で返します。

...「次」のオブジェクトを配列で返します。

Enumerator
#next とほぼ同様の挙動をします。終端まで到達した場合は
StopIteration 例外を発生させます。

このメソッドは、
yield

yield nil
を区別するために使えます。

next メソッ...
...f o.each
yield
yield 1
yield 1, 2
yield nil
yield [1, 2]
end
e = o.to_enum
p
e.next_values
p
e.next_values
p
e.next_values
p
e.next_values
p
e.next_values
e = o.to_enum
p
e.next
p
e.next
p
e.next
p
e.next
p
e.next

## yield args next_values next
# yield []...
...[1] 1
# yield 1, 2 [1, 2] [1, 2]
# yield nil [nil] nil
# yield [1, 2] [[1, 2]] [1, 2]
//}

@raise StopIteration 列挙状態が既に最後へ到達しているとき
@see Enumerator#next, Enumerator#peek, Enumerator#peek_values...

Enumerator#feed(obj) -> nil (21.0)

Enumerator 内部の yield が返す値を設定します。

...
Enumerator
内部の yield が返す値を設定します。

これで値を設定しなかった場合は yield は nil を返します。

この値は内部で yield された時点でクリアされます。

//emlist[例][ruby]{
# (1), (2), ... (10) の順に実行される
o = Object.new
def...
...o.each
x = yield # (2) blocks
p
x # (5) => "foo"
x = yield # (6) blocks
p
x # (8) => nil
x = yield # (9) blocks
p
x # not reached w/o another e.next
end

e = o.to_enum
e.next # (1)
e.feed "foo" # (3)
e...
....next # (4)
e.next # (7)
# (10)
//}

@param obj Enumerator 内部の yield が返す値
@raise TypeError すでに値をこのメソッドでセットしている場合に発生します...

絞り込み条件を変える

Enumerator#rewind -> self (21.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.new(size=nil) {|y| ... } -> Enumerator (16.0)

Enumerator オブジェクトを生成して返します。与えられたブロックは Enumerator::Yielder オブジェクトを 引数として実行されます。

...
Enumerator
オブジェクトを生成して返します。与えられたブロックは Enumerator::Yielder オブジェクトを
引数として実行されます。

生成された Enumerator オブジェクトに対して each を呼ぶと、この生成時に指定されたブロックを...
...が each の返り値となります。

@param size 生成する Enumerator オブジェクトの要素数を指定します。
Integer、Float::INFINITY、Proc オブジェク
ト、nil のいずれかを指定します。Enumerator#size の実
行時に参照...
...されます。

//emlist[例][ruby]{
enum = Enumerator.new{|y|
(1..10).each{|i|
y << i if i % 5 == 0
}
}
enum.each{|i| p i }

#=> 5
# 10


fib = Enumerator.new { |y|
a = b = 1
loop {
y << a
a, b = b, a + b
}
}

p
fib.take(10) #=> [1, 1, 2, 3, 5, 8, 13, 21, 34, 55]
//}...

Enumerator#each -> self (15.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"
# "Ruby"
# "Hacker"

str.scan(/\w+/) {|word| p word } # => "Yet"
# "Another"
# "Ruby"...

Enumerator#each {...} -> object (15.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"
# "Ruby"
# "Hacker"

str.scan(/\w+/) {|word| p word } # => "Yet"
# "Another"
# "Ruby"...

Enumerator#each(*args) -> Enumerator (15.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"
# "Ruby"
# "Hacker"

str.scan(/\w+/) {|word| p word } # => "Yet"
# "Another"
# "Ruby"...

絞り込み条件を変える

<< 1 2 > >>