種類
- インスタンスメソッド (74)
- クラス (11)
ライブラリ
- ビルトイン (85)
クラス
- Encoding (11)
-
Thread
:: Queue (36) -
Thread
:: SizedQueue (27)
検索結果
先頭5件
-
Thread
:: Queue # shift(non _ block = false) -> object (23119.0) -
キューからひとつ値を取り出します。キューが空の時、呼出元のスレッドは停止します。
...キューからひとつ値を取り出します。キューが空の時、呼出元のスレッドは停止します。
@param non_block true を与えると、キューが空の時に例外 ThreadError が発生します。
//emlist[例][ruby]{
require 'thread'
q = Queue.new
th1 = Thread.star......th1.join
//}
//emlist[例: nonblock = true][ruby]{
require 'thread'
q = Queue.new
th1 = Thread.start do
while resource = q.pop
puts resource
end
end
[:resource1, :resource2, :resource3, nil].each { |r|
q.push(r)
}
begin
th1.join
q.pop(true)
rescue => e
p e
end
# => resource1... -
Thread
:: SizedQueue # shift(non _ block = false) -> object (23119.0) -
キューからひとつ値を取り出します。 キューに push しようと待っているスレッドがあれば、実行を再開させます。
...値を取り出します。
キューに push しようと待っているスレッドがあれば、実行を再開させます。
@param non_block true を与えると、キューが空の時に例外 ThreadError が発生します。
//emlist[例][ruby]{
require 'thread'
q = SizedQueue.new(4)......source3
//}
//emlist[例: nonblock = true][ruby]{
require 'thread'
q = SizedQueue.new(4)
th1 = Thread.start do
while resource = q.pop
puts resource
end
end
[:resource1, :resource2, :resource3, nil].each{|r|
q.push(r)
}
begin
th1.join
q.pop(true)
rescue => e
p e
p e.message
end... -
String (8024.0)
-
文字列のクラスです。 ヌル文字を含む任意のバイト列を扱うことができます。 文字列の長さにはメモリ容量以外の制限はありません。
...あります。
例えば String#== や String#eql? は両者のエンコーディングが等しく
バイト列表現が等しい場合にのみ true を返します。
このときエンコーディングが UTF-8 であっても正規化せずに比較します。
文字列の結合も同様で......いても
true を返します。
ASCII 互換エンコーディングをもつ文字列にエンコーディングの変換なしで結合することができます。
//emlist[例:][ruby]{
s = "abc"
a = s.encode("EUC-JP")
b = s.encode("UTF-8")
p a == b #=> true
p a + b......従って UTF-16 はASCII互換ではありません。
また厳密性を追求せず、おおむね互換なら互換と呼びます。よって Shift_JIS は ASCII 互換です。
==== バイト列を表す文字列
文字列ではない単なるバイト列も String オブジェクトで表... -
Thread
:: Queue # deq(non _ block = false) -> object (8019.0) -
キューからひとつ値を取り出します。キューが空の時、呼出元のスレッドは停止します。
...キューからひとつ値を取り出します。キューが空の時、呼出元のスレッドは停止します。
@param non_block true を与えると、キューが空の時に例外 ThreadError が発生します。
//emlist[例][ruby]{
require 'thread'
q = Queue.new
th1 = Thread.star......th1.join
//}
//emlist[例: nonblock = true][ruby]{
require 'thread'
q = Queue.new
th1 = Thread.start do
while resource = q.pop
puts resource
end
end
[:resource1, :resource2, :resource3, nil].each { |r|
q.push(r)
}
begin
th1.join
q.pop(true)
rescue => e
p e
end
# => resource1... -
Thread
:: Queue # pop(non _ block = false) -> object (8019.0) -
キューからひとつ値を取り出します。キューが空の時、呼出元のスレッドは停止します。
...キューからひとつ値を取り出します。キューが空の時、呼出元のスレッドは停止します。
@param non_block true を与えると、キューが空の時に例外 ThreadError が発生します。
//emlist[例][ruby]{
require 'thread'
q = Queue.new
th1 = Thread.star......th1.join
//}
//emlist[例: nonblock = true][ruby]{
require 'thread'
q = Queue.new
th1 = Thread.start do
while resource = q.pop
puts resource
end
end
[:resource1, :resource2, :resource3, nil].each { |r|
q.push(r)
}
begin
th1.join
q.pop(true)
rescue => e
p e
end
# => resource1... -
Thread
:: SizedQueue # deq(non _ block = false) -> object (8019.0) -
キューからひとつ値を取り出します。 キューに push しようと待っているスレッドがあれば、実行を再開させます。
...値を取り出します。
キューに push しようと待っているスレッドがあれば、実行を再開させます。
@param non_block true を与えると、キューが空の時に例外 ThreadError が発生します。
//emlist[例][ruby]{
require 'thread'
q = SizedQueue.new(4)......source3
//}
//emlist[例: nonblock = true][ruby]{
require 'thread'
q = SizedQueue.new(4)
th1 = Thread.start do
while resource = q.pop
puts resource
end
end
[:resource1, :resource2, :resource3, nil].each{|r|
q.push(r)
}
begin
th1.join
q.pop(true)
rescue => e
p e
p e.message
end... -
Thread
:: SizedQueue # pop(non _ block = false) -> object (8019.0) -
キューからひとつ値を取り出します。 キューに push しようと待っているスレッドがあれば、実行を再開させます。
...値を取り出します。
キューに push しようと待っているスレッドがあれば、実行を再開させます。
@param non_block true を与えると、キューが空の時に例外 ThreadError が発生します。
//emlist[例][ruby]{
require 'thread'
q = SizedQueue.new(4)......source3
//}
//emlist[例: nonblock = true][ruby]{
require 'thread'
q = SizedQueue.new(4)
th1 = Thread.start do
while resource = q.pop
puts resource
end
end
[:resource1, :resource2, :resource3, nil].each{|r|
q.push(r)
}
begin
th1.join
q.pop(true)
rescue => e
p e
p e.message
end... -
Encoding
# replicate(name) -> Encoding (8018.0) -
レシーバのエンコーディングを複製(replicate)します。 複製されたエンコーディングは元のエンコーディングと同じバイト構造を持たなければなりません。 name という名前のエンコーディングが既に存在する場合は ArgumentError を発生します。
...encoding.name #=> "REPLICATED_UTF-8"
"\u3042".force_encoding(Encoding::UTF_8).valid_encoding? #=> true
"\u3042".force_encoding(encoding).valid_encoding? #=> true
"\u3042".force_encoding(Encoding::SHIFT_JIS).valid_encoding? #=> false
//}... -
Thread
:: Queue # close -> self (8012.0) -
キューを close します。close 済みのキューを再度 open することはできません。
...します。
* Thread::Queue#closed? は true を返します
* Thread::Queue#close は無視されます
* Thread::Queue#enq/push/<< は ClosedQueueError を発生します
* Thread::Queue#empty? が false を返す場合は Thread::Queue#deq/pop/shift は通常通りオブジェクトを返...