ライブラリ
- ビルトイン (35)
-
cgi
/ html (2) - csv (1)
- digest (1)
-
digest
/ sha2 (1) - fiddle (1)
-
io
/ nonblock (3) - monitor (2)
-
mutex
_ m (8) -
net
/ ftp (12) -
net
/ http (2) - openssl (6)
- optparse (2)
- pathname (1)
-
rubygems
/ commands / lock _ command (2) - shell (7)
-
shell
/ command-processor (3) -
shell
/ filter (3) - socket (9)
- stringio (2)
- sync (12)
-
syslog
/ logger (7) - thwait (1)
クラス
-
ARGF
. class (1) - Array (4)
- BasicSocket (3)
- CSV (1)
- Class (1)
-
Digest
:: Base (1) -
Digest
:: SHA2 (1) -
Enumerator
:: Lazy (2) -
Fiddle
:: Closure :: BlockCaller (1) - File (1)
-
File
:: Stat (2) -
Gem
:: Commands :: LockCommand (2) - IO (5)
- Monitor (1)
-
Net
:: FTP (12) -
Net
:: HTTP (2) - Object (1)
-
OpenSSL
:: Cipher (1) -
OpenSSL
:: Digest (1) -
OpenSSL
:: SSL :: SSLSocket (2) - OptionParser (2)
- Pathname (1)
- Shell (7)
-
Shell
:: CommandProcessor (3) -
Shell
:: Filter (3) - Socket (3)
- String (4)
- StringIO (2)
-
Syslog
:: Logger (7) - TCPServer (1)
-
Thread
:: Mutex (6) -
Thread
:: Queue (3) -
Thread
:: SizedQueue (5) - ThreadsWait (1)
- UDPSocket (1)
- UNIXServer (1)
モジュール
-
CGI
:: HtmlExtension (2) - Enumerable (3)
- MonitorMixin (1)
-
Mutex
_ m (8) -
OpenSSL
:: Buffering (2) -
Sync
_ m (12)
キーワード
-
accept
_ nonblock (4) - add (1)
-
block
_ length (3) -
block
_ size (1) - blockdev? (5)
- blockquote (2)
- blocks (1)
- call (1)
- cd (1)
- chars (1)
- chdir (1)
- codepoints (1)
-
collect
_ concat (1) - combination (1)
- complain (1)
-
connect
_ nonblock (2) - cycle (1)
- debug (1)
- deq (2)
-
each
_ char (1) -
each
_ codepoint (1) -
each
_ entry (1) - enq (1)
- enter (1)
-
enum
_ for (1) - error (1)
- fatal (1)
-
flat
_ map (1) - flock (2)
- foreach (3)
- get (2)
- getbinaryfile (2)
- info (1)
- initialize (1)
- locked? (3)
-
mon
_ enter (1) -
mu
_ lock (1) -
mu
_ locked? (1) -
mu
_ try _ lock (1) -
mu
_ unlock (1) - new (1)
-
next
_ wait (1) - nonblock (1)
- nonblock= (1)
- nonblock? (1)
-
on
_ head (1) -
on
_ tail (1) - out (3)
- owned? (1)
- permutation (1)
- pop (2)
- push (1)
- pushd (1)
- pushdir (1)
- put (2)
- putbinaryfile (2)
-
read
_ nonblock (4) -
recv
_ nonblock (1) -
recvfrom
_ nonblock (2) -
recvmsg
_ nonblock (1) - retrbinary (2)
- select! (1)
-
sendmsg
_ nonblock (1) - shift (2)
- sleep (1)
-
spec
_ path (1) - storbinary (2)
-
sync
_ ex _ locker (1) -
sync
_ ex _ locker= (1) -
sync
_ lock (1) -
sync
_ locked? (1) -
sync
_ sh _ locker (1) -
sync
_ sh _ locker= (1) -
sync
_ try _ lock (1) -
sync
_ unlock (1) -
to
_ enum (1) -
try
_ lock (3) - unknown (1)
- unlock (4)
- warn (1)
-
write
_ nonblock (3)
検索結果
先頭5件
-
String
# codepoints {|codepoint| block } -> self (304.0) -
文字列の各コードポイントの配列を返します。(self.each_codepoint.to_a と同じです)
文字列の各コードポイントの配列を返します。(self.each_codepoint.to_a と同じです)
//emlist[例][ruby]{
#coding:UTF-8
"hello わーるど".codepoints
# => [104, 101, 108, 108, 111, 32, 12431, 12540, 12427, 12393]
//}
ブロックが指定された場合は String#each_codepoint と同じように動作します。
Ruby 2.6 までは deprecated の警告が出ますが、Ruby 2.7 で警告は削除されました。
@see String#e... -
String
# each _ char {|cstr| block } -> self (304.0) -
文字列の各文字に対して繰り返します。
文字列の各文字に対して繰り返します。
たとえば、
//emlist[][ruby]{
"hello世界".each_char {|c| print c, ' ' }
//}
は次のように出力されます。
h e l l o 世 界
@see String#chars -
String
# each _ codepoint {|codepoint| block } -> self (304.0) -
文字列の各コードポイントに対して繰り返します。
文字列の各コードポイントに対して繰り返します。
UTF-8/UTF-16(BE|LE)/UTF-32(BE|LE) 以外のエンコーディングに対しては
各文字のバイナリ表現由来の値になります。
//emlist[例][ruby]{
#coding:UTF-8
"hello わーるど".each_codepoint.to_a
# => [104, 101, 108, 108, 111, 32, 12431, 12540, 12427, 12393]
"hello わーるど".encode('euc-jp').each_codepoint.to_a
# => [104, 101, 108, 1... -
Syslog
:: Logger # add(severity , message = nil , progname = nil , &block) -> true (304.0) -
メッセージをログに記録します。Logger#add とほぼ同じ動作をします。
メッセージをログに記録します。Logger#add とほぼ同じ動作をします。
ブロックを与えた場合はブロックを評価した返り値をメッセージとしてログに
記録します。 ユーザがこのメソッドを直接使うことはあまりありません。
@param severity ログレベル。Logger クラスで定義されている定数を指定しま
す。この値がレシーバーに設定されているレベルよりも低い
場合、メッセージは記録されません。
@param message ログに出力するメッセージを表すオブジェクトを指定します。
省... -
Syslog
:: Logger # debug(message = nil , &block) -> true (304.0) -
DEBUG 情報を出力します。syslog の DEBUG の情報として記録されます。
DEBUG 情報を出力します。syslog の DEBUG の情報として記録されます。
ブロックを与えなかった場合は、message をメッセージとしてログを出力します。
ブロックを与えた場合は、ブロックを評価した結果をメッセージとして ログを出力します。
引数とブロックを同時に与えた場合は、message をメッセージとしてログを出
力します(ブロックは評価されません)。
@see Syslog::Logger::LEVEL_MAP, Logger#debug -
Syslog
:: Logger # error(message = nil , &block) -> true (304.0) -
ERROR 情報を出力します。syslog の warning の情報として記録されます。
ERROR 情報を出力します。syslog の warning の情報として記録されます。
ブロックを与えなかった場合は、message をメッセージとしてログを出力します。
ブロックを与えた場合は、ブロックを評価した結果をメッセージとして ログを出力します。
引数とブロックを同時に与えた場合は、message をメッセージとしてログを出
力します(ブロックは評価されません)。
@see Syslog::Logger::LEVEL_MAP, Logger#error -
Syslog
:: Logger # fatal(message = nil , &block) -> true (304.0) -
FATAL 情報を出力します。syslog の err の情報として記録されます。
FATAL 情報を出力します。syslog の err の情報として記録されます。
ブロックを与えなかった場合は、message をメッセージとしてログを出力します。
ブロックを与えた場合は、ブロックを評価した結果をメッセージとして ログを出力します。
引数とブロックを同時に与えた場合は、message をメッセージとしてログを出
力します(ブロックは評価されません)。
@see Syslog::Logger::LEVEL_MAP, Logger#fatal -
Syslog
:: Logger # info(message = nil , &block) -> true (304.0) -
INFO 情報を出力します。syslog の info の情報として記録されます。
INFO 情報を出力します。syslog の info の情報として記録されます。
ブロックを与えなかった場合は、message をメッセージとしてログを出力します。
ブロックを与えた場合は、ブロックを評価した結果をメッセージとして ログを出力します。
引数とブロックを同時に与えた場合は、message をメッセージとしてログを出
力します(ブロックは評価されません)。
@see Syslog::Logger::LEVEL_MAP, Logger#info -
Syslog
:: Logger # unknown(message = nil , &block) -> true (304.0) -
UNKNOWN 情報を出力します。syslog の alert の情報として記録されます。
UNKNOWN 情報を出力します。syslog の alert の情報として記録されます。
ブロックを与えなかった場合は、message をメッセージとしてログを出力します。
ブロックを与えた場合は、ブロックを評価した結果をメッセージとして ログを出力します。
引数とブロックを同時に与えた場合は、message をメッセージとしてログを出
力します(ブロックは評価されません)。
@see Syslog::Logger::LEVEL_MAP, Logger#unknown -
Syslog
:: Logger # warn(message = nil , &block) -> true (304.0) -
WARN 情報を出力します。syslog の notice の情報として記録されます。
WARN 情報を出力します。syslog の notice の情報として記録されます。
ブロックを与えなかった場合は、message をメッセージとしてログを出力します。
ブロックを与えた場合は、ブロックを評価した結果をメッセージとして ログを出力します。
引数とブロックを同時に与えた場合は、message をメッセージとしてログを出
力します(ブロックは評価されません)。
@see Syslog::Logger::LEVEL_MAP, Logger#warn -
Thread
:: Queue # deq(non _ block = false) -> object (304.0) -
キューからひとつ値を取り出します。キューが空の時、呼出元のスレッドは停止します。
キューからひとつ値を取り出します。キューが空の時、呼出元のスレッドは停止します。
@param non_block true を与えると、キューが空の時に例外 ThreadError が発生します。
//emlist[例][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)
}
t... -
Thread
:: Queue # pop(non _ block = false) -> object (304.0) -
キューからひとつ値を取り出します。キューが空の時、呼出元のスレッドは停止します。
キューからひとつ値を取り出します。キューが空の時、呼出元のスレッドは停止します。
@param non_block true を与えると、キューが空の時に例外 ThreadError が発生します。
//emlist[例][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)
}
t... -
Thread
:: Queue # shift(non _ block = false) -> object (304.0) -
キューからひとつ値を取り出します。キューが空の時、呼出元のスレッドは停止します。
キューからひとつ値を取り出します。キューが空の時、呼出元のスレッドは停止します。
@param non_block true を与えると、キューが空の時に例外 ThreadError が発生します。
//emlist[例][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)
}
t... -
Thread
:: SizedQueue # deq(non _ block = false) -> object (304.0) -
キューからひとつ値を取り出します。 キューに push しようと待っているスレッドがあれば、実行を再開させます。
キューからひとつ値を取り出します。
キューに push しようと待っているスレッドがあれば、実行を再開させます。
@param non_block true を与えると、キューが空の時に例外 ThreadError が発生します。
//emlist[例][ruby]{
require 'thread'
q = SizedQueue.new(4)
th1 = Thread.start do
while resource = q.pop
puts resource
end
end
[:resource1, :resource2, :resource3, nil].eac... -
Thread
:: SizedQueue # enq(obj , non _ block = false) -> () (304.0) -
キューに与えられたオブジェクトを追加します。
キューに与えられたオブジェクトを追加します。
キューのサイズが Thread::SizedQueue#max に達している場合は、
non_block が真でなければ、キューのサイズが Thread::SizedQueue#max
より小さくなるまで他のスレッドに実行を譲ります。
その後、キューに与えられたオブジェクトを追加します。
@param obj キューに追加したいオブジェクトを指定します。
@param non_block true を与えると、キューが一杯の時に例外 ThreadError が発生します。
@see Thread::Queue#push -
Thread
:: SizedQueue # pop(non _ block = false) -> object (304.0) -
キューからひとつ値を取り出します。 キューに push しようと待っているスレッドがあれば、実行を再開させます。
キューからひとつ値を取り出します。
キューに push しようと待っているスレッドがあれば、実行を再開させます。
@param non_block true を与えると、キューが空の時に例外 ThreadError が発生します。
//emlist[例][ruby]{
require 'thread'
q = SizedQueue.new(4)
th1 = Thread.start do
while resource = q.pop
puts resource
end
end
[:resource1, :resource2, :resource3, nil].eac... -
Thread
:: SizedQueue # push(obj , non _ block = false) -> () (304.0) -
キューに与えられたオブジェクトを追加します。
キューに与えられたオブジェクトを追加します。
キューのサイズが Thread::SizedQueue#max に達している場合は、
non_block が真でなければ、キューのサイズが Thread::SizedQueue#max
より小さくなるまで他のスレッドに実行を譲ります。
その後、キューに与えられたオブジェクトを追加します。
@param obj キューに追加したいオブジェクトを指定します。
@param non_block true を与えると、キューが一杯の時に例外 ThreadError が発生します。
@see Thread::Queue#push -
Thread
:: SizedQueue # shift(non _ block = false) -> object (304.0) -
キューからひとつ値を取り出します。 キューに push しようと待っているスレッドがあれば、実行を再開させます。
キューからひとつ値を取り出します。
キューに push しようと待っているスレッドがあれば、実行を再開させます。
@param non_block true を与えると、キューが空の時に例外 ThreadError が発生します。
//emlist[例][ruby]{
require 'thread'
q = SizedQueue.new(4)
th1 = Thread.start do
while resource = q.pop
puts resource
end
end
[:resource1, :resource2, :resource3, nil].eac... -
ThreadsWait
# next _ wait(nonblock = nil) -> Thread (304.0) -
指定したスレッドのどれかが終了するまで待ちます。
指定したスレッドのどれかが終了するまで待ちます。
@param nonblock true を与えると、キューが空の時、例外 ThreadsWait::ErrNoFinishedThread が発生します。
@raise ErrNoWaitingThread 終了をまつスレッドが存在しない時、発生します。
@raise ErrNoFinishedThread nonblock がtrue でかつ、キューが空の時、発生します。
#使用例
require 'thwait'
threads = []
2.times {|i|
threads << Thread.n... -
Monitor
# enter -> () (94.0) -
MonitorMixin#mon_enter の別名です。
MonitorMixin#mon_enter の別名です。
Thread::Mutex#lock に相当します。
Thread::Mutex#lock と違うのは現在のモニターの所有者が現在実行されているスレッドである場合、
何度でもロックできる点です。ロックした回数だけ Monitor#exit を呼ばなければモニターは
解放されません。
//emlist[例][ruby]{
require 'monitor'
mon = Monitor.new
mon.enter
mon.enter
//}
Thread::Mutex#lock ではデッドロックが起きます。
//emlist[Mu... -
MonitorMixin
# mon _ enter -> () (94.0) -
モニターをロックします。
モニターをロックします。
一度に一つのスレッドだけがモニターをロックできます。
既にモニターがロックされている場合は、ロックが開放されるまで
そのスレッドは待ちます。
Thread::Mutex#lock に相当します。
Mutex#lock と違うのは現在のモニターの所有者が現在実行されているスレッドである場合、
何度でもロックできる点です。ロックした回数だけ mon_exit を呼ばなければモニターは
解放されません。
//emlist[例][ruby]{
require 'monitor'
buf = []
buf.extend(MonitorMixin)
buf.mon_ent... -
Thread
:: Mutex # owned? -> bool (22.0) -
self がカレントスレッドによってロックされている場合に true を返します。 そうでない場合に false を返します。
self がカレントスレッドによってロックされている場合に true を返します。
そうでない場合に false を返します。
//emlist[例][ruby]{
m = Mutex.new
m.owned? # => false
m.lock
Thread.new do
m.owned? # => false
end.join
m.owned? # => true
//} -
Thread
:: Mutex # sleep(timeout = nil) -> Integer (22.0) -
与えられた秒数の間ロックを解除してスリープして、実行後にまたロックします。
与えられた秒数の間ロックを解除してスリープして、実行後にまたロックします。
@param timeout スリープする秒数を指定します。省略するとスリープし続けます。
@return スリープしていた秒数を返します。
@raise ThreadError 自身がカレントスレッドによってロックされていない場合に発生します。
[注意] 2.0 以降ではスリープ中でも、シグナルを受信した場合などに実行が再
開(spurious wakeup)される場合がある点に注意してください。
//emlist[例][ruby]{
m = Mutex.new
th = Thread.new do
...