るりまサーチ

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

別のキーワード

  1. socket tcp_server_loop
  2. socket udp_server_loop
  3. socket ip_multicast_loop
  4. socket ipv6_multicast_loop
  5. socket ip_default_multicast_loop

ライブラリ

クラス

モジュール

キーワード

検索結果

Kernel.#loop -> Enumerator (18120.0)

(中断されない限り)永遠にブロックの評価を繰り返します。 ブロックが指定されなければ、代わりに Enumerator を返します。

...なければ、代わりに Enumerator を返します。

//emlist[例][ruby]{
loop
do
print "Input: "
line = gets
break if !line or line =~ /^qQ/
# ...
end
//}

与えられたブロック内で StopIteration を Kernel.#raise すると
ループを終了して Enumerator が最後に返...
...
ループを終了させる場合、通常は break を使用してください。

//emlist[例][ruby]{
enum = Enumerator.new { |y|
y << "one"
y << "two"
:ok
}

result = loop {
puts enum.next
} # => :ok
//}


@return break の引数など、ループ脱出時の値を返します。...

Kernel.#loop { ... } -> object | nil (18120.0)

(中断されない限り)永遠にブロックの評価を繰り返します。 ブロックが指定されなければ、代わりに Enumerator を返します。

...なければ、代わりに Enumerator を返します。

//emlist[例][ruby]{
loop
do
print "Input: "
line = gets
break if !line or line =~ /^qQ/
# ...
end
//}

与えられたブロック内で StopIteration を Kernel.#raise すると
ループを終了して Enumerator が最後に返...
...
ループを終了させる場合、通常は break を使用してください。

//emlist[例][ruby]{
enum = Enumerator.new { |y|
y << "one"
y << "two"
:ok
}

result = loop {
puts enum.next
} # => :ok
//}


@return break の引数など、ループ脱出時の値を返します。...

Kernel.#loop -> Enumerator (18114.0)

(中断されない限り)永遠にブロックの評価を繰り返します。 ブロックが指定されなければ、代わりに Enumerator を返します。

...なければ、代わりに Enumerator を返します。

//emlist[例][ruby]{
loop
do
print "Input: "
line = gets
break if !line or line =~ /^qQ/
# ...
end
//}

与えられたブロック内で StopIteration を Kernel.#raise すると
ループを終了して nil を返します。
...

Kernel.#loop { ... } -> object | nil (18114.0)

(中断されない限り)永遠にブロックの評価を繰り返します。 ブロックが指定されなければ、代わりに Enumerator を返します。

...なければ、代わりに Enumerator を返します。

//emlist[例][ruby]{
loop
do
print "Input: "
line = gets
break if !line or line =~ /^qQ/
# ...
end
//}

与えられたブロック内で StopIteration を Kernel.#raise すると
ループを終了して nil を返します。
...

Enumerator#next -> object (42.0)

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

...応じて「次」のオブジェクトを返し、列挙状態を1つ分進めます。
列挙が既に最後へ到達している場合は、
StopIteration
例外を発生します。このとき列挙状態は変化しません。
つまりもう一度 next を呼ぶと再び例外が発生しま...
...、 IO#each_line のようにおおもとの列挙メカニズムが副作用を
伴っている場合には影響があり得ます。

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

//emlist[例1][ruby]{
str = "xyz"
enum = str.each_byte

str.byt...
...puts enum.next while true
rescue StopIteration
puts "iteration reached at end"
end
# => 120
# 121
# 122
# iteration reached at end
puts enum.next
#=> 再度 StopIteration 例外が発生
//}

//emlist[例3: Kernel.#loop StopIteration を捕捉します。][ruby]{
s...

絞り込み条件を変える

Fiber#raise -> object (24.0)

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

...{ 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
//}...

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

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

...{ 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
//}...

Fiber#raise(message) -> object (24.0)

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

...{ 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
//}...

NEWS for Ruby 2.3.0 (12.0)

NEWS for Ruby 2.3.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

...ん。
サポートの有無を実行時ではなくビルド時に検出するためです。
11806

* Kernel
* Kernel.#loop StopIteration で停止したときに nil ではなく最後に評価した要素を返します。
11498

* Module
* Module#deprecate_cons...

Thread::Queue#close -> self (12.0)

キューを close します。close 済みのキューを再度 open することはできません。

...オブジェクトを返します

また、ClosedQueueError は StopIteration を継承しているため、
close する事でループから脱出する事もできます。

例:

q = Queue.new
Thread.new{
while e = q.deq # wait for nil to break loop
# ...
end
}
q.close...

絞り込み条件を変える