るりまサーチ

最速Rubyリファレンスマニュアル検索!
38件ヒット [1-38件を表示] (0.048秒)
トップページ > クエリ:IO[x] > クエリ:p[x] > クエリ:StopIteration[x]

別のキーワード

  1. io popen
  2. io pipe
  3. io each
  4. io readlines
  5. io each_line

ライブラリ

クラス

キーワード

検索結果

StopIteration (50000.0)

イテレーションを止めるときに発生する例外です。

イテレーションを止めるときに発生する例外です。

StopIteration#result -> object (27024.0)

この例外オブジェクトを発生させる原因となったメソッド等の返り値を返します。

...ect = Object.new
def object.each
yield :yield1
yield :yield2
:each_returned
end

enumerator = object.to_enum

p
enumerator.next #=> :yield1
p
enumerator.next #=> :yield2

begin
enumerator.next
rescue StopIteration => error
p
error.result #=> :each_returned
end...

Fiber#raise(exception, message = nil, backtrace = nil) -> object (218.0)

selfが表すファイバーが最後に Fiber.yield を呼んだ場所で例外を発生させます。

...数をメッセージとした RuntimeError
が発生します。

その他のケースでは、最初の引数は Exception か Exception
のインスタンスを返す exception メソッドを持ったオブジェクトである
必要があります。
この場合、2つ目の引数に例外...
...た3つ目の引数に
例外発生時のスタックトレースを指定できます。

@param message 例外のメッセージとなる文字列です。
@param exception 発生させる例外です。
@param backtrace 例外発生時のスタックトレースです。文字列の配列で指...
...{ Fiber.yield }
f.resume
f.raise "Error!" # => Error! (RuntimeError)
//}

//emlist[ファイバー内のイテレーションを終了させる例][ruby]{
f = Fiber.new do
loop do
Fiber.yield(:loop)
end
:exit
end

p
f.resume # => :loop
p
f.raise StopIteration # => :exit
//}...

Enumerator#next_values -> Array (78.0)

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

...
StopIteration
例外を発生させます。

このメソッドは、
yield

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

next メソッドによる外部列挙の状態は他のイテレータメソッドによる
内部列挙には影響を与えません。
ただし、 IO#each_...
...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...