るりまサーチ

最速Rubyリファレンスマニュアル検索!
76件ヒット [1-76件を表示] (0.014秒)

別のキーワード

  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

クラス

キーワード

検索結果

Fiber#raise -> object (21.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 (21.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 (21.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
//}...

Enumerator#next -> object (15.0)

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

...121
# 122
# iteration reached at end
puts enum.next
#=> 再度 StopIteration 例外が発生
//}

//emlist[例3: Kernel.#loop は StopIteration を捕捉します。][ruby]{
str = "xyz"
enum = str.each_byte
loop
do
puts enum.next
end
# => 120
# 121
# 122
//}...

Thread#priority -> Integer (15.0)

スレッドの優先度を返します。この値が大きいほど優先度が高くなります。 メインスレッドのデフォルト値は 0 です。新しく生成されたスレッドは親スレッドの priority を引き継ぎます。

...存します。

//emlist[例][ruby]{
Thread.current.priority # => 0

count1 = count2 = 0
a = Thread.new do
loop
{ count1 += 1 }
end
a.priority = -1

b = Thread.new do
loop
{ count2 += 1 }
end
b.priority = -2
count1 = count2 = 0 # reset
sleep 1 # => 1
count1 # => 13809431...

絞り込み条件を変える

Thread#priority=(val) (15.0)

スレッドの優先度を返します。この値が大きいほど優先度が高くなります。 メインスレッドのデフォルト値は 0 です。新しく生成されたスレッドは親スレッドの priority を引き継ぎます。

...存します。

//emlist[例][ruby]{
Thread.current.priority # => 0

count1 = count2 = 0
a = Thread.new do
loop
{ count1 += 1 }
end
a.priority = -1

b = Thread.new do
loop
{ count2 += 1 }
end
b.priority = -2
count1 = count2 = 0 # reset
sleep 1 # => 1
count1 # => 13809431...

Enumerator#size -> Integer | Float::INFINITY | nil (9.0)

self の要素数を返します。

...いた場合はその
実行結果を返します。呼び出した時に要素数が不明であった場合は nil を返し
ます。

//emlist[例][ruby]{
(1..100).to_a.permutation(4).size # => 94109400
loop
.size # => Float::INFINITY
(1..100).drop_while.size # => nil
//}

@see Enumerator.new...

Thread::Queue#close -> self (9.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...