るりまサーチ (Ruby 2.6.0)

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

別のキーワード

  1. io/wait wait_writable
  2. tcltklib set_no_event_wait
  3. tcltklib get_no_event_wait
  4. conditionvariable wait
  5. io wait_writable

モジュール

検索結果

Process.#wait -> Integer (18131.0)

子プロセスのうちのひとつが終了するまで待ち、終了した子プロセスの pid を返します。 wait2 は子プロセスの pid と終了ステータスを表す Process::Status オブジェクトの配列を返します。

子プロセスのうちのひとつが終了するまで待ち、終了した子プロセスの pid を返します。
wait2 は子プロセスの pid と終了ステータスを表す Process::Status オブジェクトの配列を返します。

$? に終了した子プロセスの Process::Status オブジェクトがセットされます。


@raise Errno::ECHILD 子プロセスが一つもなければ発生します。

pid = fork{ sleep 1 }
Process.wait2 #=> [2756, #<Process::Status: pid=2756,exited(0)>]

@see wait(2...

MonitorMixin::ConditionVariable#wait(timeout = nil) -> bool (18114.0)

モニタのロックを開放し、現在のスレッドを停止します。

モニタのロックを開放し、現在のスレッドを停止します。

これを呼ぶスレッドはモニタのロックを保持している必要があります。

MonitorMixin::ConditionVariable#signal や
MonitorMixin::ConditionVariable#broadcast
で起こされるまでスレッドは停止し続けます。

timeout を与えた場合は最大 timeout 秒まで停止した後にスレッドを
再開します。

実行を再開したスレッドはモニタのロックを保持した状態になります。
これによって危険領域(critical section)上で動作している
スレッドはただ一つになり...

IO#wait(timeout = nil) -> bool | self | nil (18109.0)

self が読み込み可能になるまでブロックし、読み込み可能になったら 真値を返します。タイムアウト、もしくはEOFで それ以上読みこめない場合は偽の値を返します。

self が読み込み可能になるまでブロックし、読み込み可能になったら
真値を返します。タイムアウト、もしくはEOFで
それ以上読みこめない場合は偽の値を返します。

より詳しくは、一度ブロックしてから読み込み可能になった場合には
selfを返します。
内部のバッファにデータがある場合には
ブロックせずに true を返します。
内部のバッファとはRubyの処理系が保持管理している
バッファのことです。

つまり、読み込み可能である場合にはtrueを返す場合と
selfを返す場合があることに注意してください。

timeout を指定した場合は、指定秒数経過するまでブロックし、タ
イムアウトし...

Thread::ConditionVariable#wait(mutex, timeout = nil) -> self (18102.0)

mutex のロックを解放し、カレントスレッドを停止します。 Thread::ConditionVariable#signalまたは、 Thread::ConditionVariable#broadcastで送られたシグナルを 受け取ると、mutexのロックを取得し、実行状態となります。

mutex のロックを解放し、カレントスレッドを停止します。
Thread::ConditionVariable#signalまたは、
Thread::ConditionVariable#broadcastで送られたシグナルを
受け取ると、mutexのロックを取得し、実行状態となります。

@param mutex Mutex オブジェクトを指定します。

@param timeout スリープする秒数を指定します。この場合はシグナルを受け取
らなかった場合でも指定した秒数が経過するとスリープを終了
します。省略するとスリープし続け...

ThreadsWait#next_wait(nonblock = nil) -> Thread (9108.0)

指定したスレッドのどれかが終了するまで待ちます。

指定したスレッドのどれかが終了するまで待ちます。

@param nonblock true を与えると、キューが空の時、例外 ThreadsWait::ErrNoFinishedThread が発生します。

@raise ErrNoWaitingThread 終了をまつスレッドが存在しない時、発生します。

@raise ErrNoFinishedThread nonblock がtrue でかつ、キューが空の時、発生します。

#使用例
require 'thwait'

threads = []
2.times {|i|
threads << Thread.n...

絞り込み条件を変える

ThreadsWait#all_waits -> () (9101.0)

指定されたスレッドすべてが終了するまで待ちます。 ブロックが与えられた場合、スレッド終了時にブロックを評価します。

指定されたスレッドすべてが終了するまで待ちます。
ブロックが与えられた場合、スレッド終了時にブロックを評価します。

使用例
require 'thwait'

threads = []
5.times {|i|
threads << Thread.new { sleep 1; p Thread.current }
}

thall = ThreadsWait.new(*threads)
thall.all_waits{|th|
printf("end %s\n", th.inspect)
}

# 出力例
#=> #<Thread...

ThreadsWait#join_nowait(*threads) -> () (9101.0)

終了を待つスレッドの対象として、threads で指定されたスレッドを指定します。 しかし、実際には終了をまちません。

終了を待つスレッドの対象として、threads で指定されたスレッドを指定します。
しかし、実際には終了をまちません。

@param threads 複数スレッドの終了を待つスレッドに指定されたthreadsを加えます。

require 'thwait'

threads = []
5.times {|i|
threads << Thread.new { sleep 1; p Thread.current }
}

thall = ThreadsWait.new
p thall.threads #=> []
thall.join_nowait(*thr...

ThreadsWait.all_waits(*threads) -> () (9101.0)

指定されたスレッドすべてが終了するまで待ちます。 ブロックが与えられた場合、スレッド終了時にブロックを評価します。

指定されたスレッドすべてが終了するまで待ちます。
ブロックが与えられた場合、スレッド終了時にブロックを評価します。

@param threads 終了するまでまつスレッドを一つもしくは複数指定します。

require 'thwait'

threads = []
5.times {|i|
threads << Thread.new { sleep 1; p Thread.current }
}
ThreadsWait.all_waits(*threads) {|th| printf("end %s\n", th.inspect) }

# 出力例
#=...

ThreadsWait.all_waits(*threads) {|thread| ...} -> () (9101.0)

指定されたスレッドすべてが終了するまで待ちます。 ブロックが与えられた場合、スレッド終了時にブロックを評価します。

指定されたスレッドすべてが終了するまで待ちます。
ブロックが与えられた場合、スレッド終了時にブロックを評価します。

@param threads 終了するまでまつスレッドを一つもしくは複数指定します。

require 'thwait'

threads = []
5.times {|i|
threads << Thread.new { sleep 1; p Thread.current }
}
ThreadsWait.all_waits(*threads) {|th| printf("end %s\n", th.inspect) }

# 出力例
#=...

ThreadsWait::ErrNoWaitingThread (9007.0)

終了を待つスレッドが存在しない時、発生します。

終了を待つスレッドが存在しない時、発生します。

@see ThreadsWait#next_wait

絞り込み条件を変える

Process.#wait2 -> [Integer, Process::Status] (6131.0)

子プロセスのうちのひとつが終了するまで待ち、終了した子プロセスの pid を返します。 wait2 は子プロセスの pid と終了ステータスを表す Process::Status オブジェクトの配列を返します。

子プロセスのうちのひとつが終了するまで待ち、終了した子プロセスの pid を返します。
wait2 は子プロセスの pid と終了ステータスを表す Process::Status オブジェクトの配列を返します。

$? に終了した子プロセスの Process::Status オブジェクトがセットされます。


@raise Errno::ECHILD 子プロセスが一つもなければ発生します。

pid = fork{ sleep 1 }
Process.wait2 #=> [2756, #<Process::Status: pid=2756,exited(0)>]

@see wait(2...

Socket::Constants::MSG_WAITALL -> Integer (6117.0)

Wait for full request or error

Wait for full request or error

BasicSocket#recv, BasicSocket#recvmsg の
flags 引数に用います。

@see sys/socket.h(header),
recv(2), recvfrom(2), recvmsg(2),
recv(2linux),
recv(2freebsd)

Socket::MSG_WAITALL -> Integer (6117.0)

Wait for full request or error

Wait for full request or error

BasicSocket#recv, BasicSocket#recvmsg の
flags 引数に用います。

@see sys/socket.h(header),
recv(2), recvfrom(2), recvmsg(2),
recv(2linux),
recv(2freebsd)

IO#wait_readable(timeout = nil) -> bool | self | nil (6109.0)

self が読み込み可能になるまでブロックし、読み込み可能になったら 真値を返します。タイムアウト、もしくはEOFで それ以上読みこめない場合は偽の値を返します。

self が読み込み可能になるまでブロックし、読み込み可能になったら
真値を返します。タイムアウト、もしくはEOFで
それ以上読みこめない場合は偽の値を返します。

より詳しくは、一度ブロックしてから読み込み可能になった場合には
selfを返します。
内部のバッファにデータがある場合には
ブロックせずに true を返します。
内部のバッファとはRubyの処理系が保持管理している
バッファのことです。

つまり、読み込み可能である場合にはtrueを返す場合と
selfを返す場合があることに注意してください。

timeout を指定した場合は、指定秒数経過するまでブロックし、タ
イムアウトし...

IO#wait_writable -> self (6109.0)

self が書き込み可能になるまでブロックし、書き込み可能になったら self を 返します。

self が書き込み可能になるまでブロックし、書き込み可能になったら self を
返します。

timeout を指定した場合は、指定秒数経過するまでブロックし、タイムアウト
した場合は nil を返します。

@param timeout タイムアウトまでの秒数を指定します。

@see IO#wait_readable

絞り込み条件を変える

IO#wait_writable(timeout) -> self | nil (6109.0)

self が書き込み可能になるまでブロックし、書き込み可能になったら self を 返します。

self が書き込み可能になるまでブロックし、書き込み可能になったら self を
返します。

timeout を指定した場合は、指定秒数経過するまでブロックし、タイムアウト
した場合は nil を返します。

@param timeout タイムアウトまでの秒数を指定します。

@see IO#wait_readable

Kernel#wait_writable -> () (6108.0)

ファイルが書き込み可能になるまで待ちます。

ファイルが書き込み可能になるまで待ちます。

ruby -run -e wait_writable -- [OPTION] FILE

-n RETRY リトライ回数
-w SEC リトライごとに待つ秒数
-v 詳細表示

MonitorMixin::ConditionVariable#wait_until { ... } -> () (6108.0)

モニタのロックを開放し、現在のスレッドを ブロックで指定した条件を満たすまで停止します。

モニタのロックを開放し、現在のスレッドを
ブロックで指定した条件を満たすまで停止します。

MonitorMixin::ConditionVariable#signal や
MonitorMixin::ConditionVariable#broadcast で
スレッドが起こされると、ロックを取得し、ブロックを評価し
その結果によってこのメソッドから抜け処理を継続するか
再びロックを開放しスレッドを停止するかを決めます。

@see MonitorMixin::ConditionVariable#wait

MonitorMixin::ConditionVariable#wait_while { ... } -> () (6108.0)

モニタのロックを開放し、現在のスレッドを ブロックで指定した条件を満たしている間停止します。

モニタのロックを開放し、現在のスレッドを
ブロックで指定した条件を満たしている間停止します。

MonitorMixin::ConditionVariable#signal や
MonitorMixin::ConditionVariable#broadcast で
スレッドが起こされると、ロックを取得し、ブロックを評価し
その結果によってこのメソッドから抜け処理を継続するか
再びロックを開放しスレッドを停止するかを決めます。

@raise ThreadError ロックを持っていないスレッドがこのメソッドを呼びだした場合に発生します
@see MonitorMixin::ConditionV...

Process.#waitpid(pid, flags = 0) -> Integer | nil (6107.0)

pid で指定される特定の子プロセスの終了を待ち、そのプロセスが 終了した時に pid を返します。 waitpid2 は pid と Process::Status オブジェクトの配列を返します。 ノンブロッキングモードで子プロセスがまだ終了していない時には nil を返します。

pid で指定される特定の子プロセスの終了を待ち、そのプロセスが
終了した時に pid を返します。
waitpid2 は pid と Process::Status オブジェクトの配列を返します。
ノンブロッキングモードで子プロセスがまだ終了していない時には
nil を返します。

$? に終了した子プロセスの Process::Status オブジェクトがセットされます。


@param pid 子プロセスのプロセス ID を整数で指定します。

@param flags Process モジュールの定数 Process::WNOHANG(ノンブロッキングモード)と
...

絞り込み条件を変える

Process.#waitpid2(pid, flags = 0) -> [Integer, Process::Status] | nil (6107.0)

pid で指定される特定の子プロセスの終了を待ち、そのプロセスが 終了した時に pid を返します。 waitpid2 は pid と Process::Status オブジェクトの配列を返します。 ノンブロッキングモードで子プロセスがまだ終了していない時には nil を返します。

pid で指定される特定の子プロセスの終了を待ち、そのプロセスが
終了した時に pid を返します。
waitpid2 は pid と Process::Status オブジェクトの配列を返します。
ノンブロッキングモードで子プロセスがまだ終了していない時には
nil を返します。

$? に終了した子プロセスの Process::Status オブジェクトがセットされます。


@param pid 子プロセスのプロセス ID を整数で指定します。

@param flags Process モジュールの定数 Process::WNOHANG(ノンブロッキングモード)と
...

Shell::BuiltInCommand#wait? -> false (6102.0)

@todo

@todo

Shell::ProcessController#wait_all_jobs_execution -> () (6102.0)

全てのジョブの実行が終わるまで待ちます。

全てのジョブの実行が終わるまで待ちます。

Shell::ProcessController.wait_to_finish_all_process_controllers -> () (6102.0)

@todo

@todo

Shell::SystemCommand#wait? -> bool (6102.0)

@todo

@todo

絞り込み条件を変える

Process.#waitall -> [[Integer, Process::Status]] (6101.0)

全ての子プロセスが終了するのを待ちます。 終了した子プロセスの pid と終了ステータス (Process::Status) の配列の配列を返します。 子プロセスがいない状態でこのメソッドを呼び出すと空の配列を返します。

全ての子プロセスが終了するのを待ちます。
終了した子プロセスの pid と終了ステータス
(Process::Status) の配列の配列を返します。
子プロセスがいない状態でこのメソッドを呼び出すと空の配列を返します。

$? には最後に終了した子プロセスの Process::Status オブジェクトが設定されます。

2.times {|n|
Process.fork() { exit n }
}
p Process.waitall
#=> :Status: pid=2766,exited(1)>], [2765, #<Process::St...

Shell::ProcessController#waiting_job?(job) -> bool (6101.0)

指定されたジョブが存在する場合は真を返します。 そうでない場合は偽を返します。

指定されたジョブが存在する場合は真を返します。
そうでない場合は偽を返します。

@param job ジョブを指定します。

Shell::ProcessController#waiting_jobs -> Array (6101.0)

待機中のジョブを返します。

待機中のジョブを返します。

Shell::ProcessController#waiting_jobs_exist? -> bool (6101.0)

待機中のジョブが存在する場合は真を返します。 そうでない場合は偽を返します。

待機中のジョブが存在する場合は真を返します。
そうでない場合は偽を返します。

Socket::Constants::LOCAL_CONNWAIT -> Integer (6101.0)

Retrieve peer credentials。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。

Retrieve peer credentials。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。

@see ip(4freebsd)

絞り込み条件を変える

Socket::Constants::MSG_DONTWAIT -> Integer (6101.0)

This message should be non-blocking。

This message should be non-blocking。

BasicSocket#send, BasicSocket#sendmsg,
BasicSocket#recv, BasicSocket#recvmsg の
flags 引数に用います。

@see send(2linux), recv(2linux),
recv(2freebsd)

Socket::LOCAL_CONNWAIT -> Integer (6101.0)

Retrieve peer credentials。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。

Retrieve peer credentials。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。

@see ip(4freebsd)

Socket::MSG_DONTWAIT -> Integer (6101.0)

This message should be non-blocking。

This message should be non-blocking。

BasicSocket#send, BasicSocket#sendmsg,
BasicSocket#recv, BasicSocket#recvmsg の
flags 引数に用います。

@see send(2linux), recv(2linux),
recv(2freebsd)

Sync_m#sync_upgrade_waiting -> [Thread] (6101.0)

@todo

@todo

Sync_m#sync_upgrade_waiting=(arr) (6101.0)

@todo

@todo

絞り込み条件を変える

Sync_m#sync_waiting -> [Thread] (6101.0)

@todo

@todo

Sync_m#sync_waiting=(arr) (6101.0)

@todo

@todo

Thread::Queue#num_waiting -> Integer (6101.0)

キューを待っているスレッドの数を返します。

キューを待っているスレッドの数を返します。

static void rb_thread_wait_other_threads(void) (6101.0)

void rb_thread_wait_fd(int fd) (6101.0)

ファイルディスクリプタ fd を読み込めるようになるまで カレントスレッドを停止します。

ファイルディスクリプタ fd を読み込めるようになるまで
カレントスレッドを停止します。

絞り込み条件を変える

void rb_thread_wait_for(struct timeval time) (6101.0)

time の長さの時間が経過するまでカレントスレッドを停止します。

time の長さの時間が経過するまでカレントスレッドを停止します。

IO::WaitReadable (6001.0)

例外が読み込み待ちで発生したことを意味します。

例外が読み込み待ちで発生したことを意味します。

例外オブジェクトに extend されます。詳しくは
IO#read_nonblock を参照してください。

IO::WaitWritable (6001.0)

例外が書き込み待ちで発生したことを意味します。

例外が書き込み待ちで発生したことを意味します。

例外オブジェクトに extend されます。詳しくは
IO#write_nonblock を参照してください。

ThWait (6001.0)

Alias of ThreadsWait

Alias of ThreadsWait

ThreadsWait (6001.0)

複数スレッドの終了を待つ機能を提供します。

複数スレッドの終了を待つ機能を提供します。

絞り込み条件を変える

io/wait (6001.0)

IOが読み込み可能になるまで待つ機能を提供するライブラリです。

IOが読み込み可能になるまで待つ機能を提供するライブラリです。

Windowsではこのライブラリで定義されているメソッドは
Socketに対してしか利用できません。

thwait (6001.0)

複数スレッドの終了を待つ機能を提供します。

複数スレッドの終了を待つ機能を提供します。

Syslog::Option::LOG_NOWAIT -> Integer (3101.0)

オプション(options)を示す定数。 定数の詳細については syslog(3) を参照してください。

オプション(options)を示す定数。
定数の詳細については syslog(3) を参照してください。

ThreadsWait.new(*threads) -> ThreadsWait (3101.0)

指定されたスレッドの終了をまつための、スレッド同期オブジェクトをつくります。

指定されたスレッドの終了をまつための、スレッド同期オブジェクトをつくります。

@param threads 終了を待つスレッドを一つもしくは複数指定します。

使用例
require 'thwait'

threads = []
5.times {|i|
threads << Thread.new { sleep 1; p Thread.current }
}

thall = ThreadsWait.new(*threads)
thall.all_waits{|th|
printf("end %s\n", th.inspect)
}

...

ThreadsWait::ErrNoFinishedThread (3007.0)

nonblock がtrue でかつ、キューが空の時、発生します。

nonblock がtrue でかつ、キューが空の時、発生します。

@see ThreadsWait#next_wait

絞り込み条件を変える

ThreadsWait#empty? -> bool (3001.0)

同期されるスレッドが存在するならば true をかえします。

同期されるスレッドが存在するならば true をかえします。

使用例
require 'thwait'

threads = []
3.times {|i|
threads << Thread.new { sleep 1; p Thread.current }
}

thall = ThreadsWait.new
p thall.threads.empty? #=> true
thall.join(*threads)
p thall.threads.empty? #=> false

ThreadsWait#finished? -> bool (3001.0)

すでに終了したスレッドが存在すれば true を返します。

すでに終了したスレッドが存在すれば true を返します。

使用例
require 'thwait'

threads = []
3.times {|i|
threads << Thread.new { sleep 1; p Thread.current }
}

thall = ThreadsWait.new(*threads)
p thall.finished? #=> false
sleep 3
p thall.finished? #=> true

ThreadsWait#join(*threads) -> () (3001.0)

終了を待つスレッドの対象として、threads で指定されたスレッドを指定します。

終了を待つスレッドの対象として、threads で指定されたスレッドを指定します。

@param threads 複数スレッドの終了を待つスレッドに指定されたthreadsを加えます。

require 'thwait'

threads = []
5.times {|i|
threads << Thread.new { sleep 1; p Thread.current }
}

thall = ThreadsWait.new
p thall.threads #=> []
thall.join(*threads)
p thall.threads
...

ThreadsWait#threads -> Array (3001.0)

同期されるスレッドの一覧を配列で返します。

同期されるスレッドの一覧を配列で返します。

使用例
require 'thwait'

threads = []
3.times {|i|
threads << Thread.new { sleep 1; p Thread.current }
}

thall = ThreadsWait.new(*threads)
p thall.threads
#=> [#<Thread:0x21750 sleep>, #<Thread:0x216c4 sleep>, #<Thread:0x21638 sleep>]

Open3.#popen3(*cmd) {|stdin, stdout, stderr, wait_thr| ... } -> () (120.0)

外部プログラム cmd を実行し、そのプロセスの標準入力、標準出力、標準エラー 出力に接続されたパイプと実行したプロセスを待つためのスレッドを 4 要素の 配列で返します。

外部プログラム cmd を実行し、そのプロセスの標準入力、標準出力、標準エラー
出力に接続されたパイプと実行したプロセスを待つためのスレッドを 4 要素の
配列で返します。

require 'open3'
stdin, stdout, stderr, wait_thr = *Open3.popen3("/usr/bin/nroff -man")

@param cmd 実行するコマンドを指定します。

@return ブロックを指定した場合はブロックの最後に評価された値を返します。
ブロックを指定しなかった場合は標準入力、標準出力、標準エラー出
力と...

絞り込み条件を変える

IO#write_nonblock(string, exception: true) -> Integer | :wait_writable (108.0)

IO をノンブロッキングモードに設定し、string を write(2) システムコールで書き出します。

IO をノンブロッキングモードに設定し、string を write(2) システムコールで書き出します。

write(2) が成功した場合、書き込んだ長さを返します。
EAGAIN, EINTR などは例外 Errno::EXXX として呼出元に報告されます。

書き込んだバイト数(つまり返り値)は String#bytesize の
値より小さい可能性があります。

発生した例外 がErrno::EAGAIN、 Errno::EWOULDBLOCK である場合は、
その例外オブジェクトに IO::WaitWritable が Object#extend
されます。よって IO::Wai...

Open3.#pipeline_rw(*cmds) {|first_stdin, last_stdout, wait_thrs| ... } -> () (108.0)

指定したコマンドのリストをパイプで繋いで順番に実行します。最初の コマンドの標準入力に書き込む事も最後のコマンドの標準出力を受けとる事も できます。

指定したコマンドのリストをパイプで繋いで順番に実行します。最初の
コマンドの標準入力に書き込む事も最後のコマンドの標準出力を受けとる事も
できます。

@param cmds 実行するコマンドのリストを指定します。それぞれのコマンドは
以下のように String か Array で指定します。
commandline にはコマンド全体(例. "nroff -man")を表す
String を指定します。
options には Hash で指定します。
env には環境変数を...

Open3.#pipeline_r(*cmds) {|last_stdout, wait_thrs| ... } -> () (102.0)

指定したコマンドのリストをパイプで繋いで順番に実行します。最後の コマンドの標準出力を受けとる事ができます。

指定したコマンドのリストをパイプで繋いで順番に実行します。最後の
コマンドの標準出力を受けとる事ができます。

@param cmds 実行するコマンドのリストを指定します。それぞれのコマンドは
以下のように String か Array で指定します。
commandline にはコマンド全体(例. "nroff -man")を表す
String を指定します。
options には Hash で指定します。
env には環境変数を Hash で指定します。
...

Open3.#pipeline_start(*cmds) {|wait_thrs| ... } -> () (102.0)

指定したコマンドのリストをパイプで繋いで順番に実行します。

指定したコマンドのリストをパイプで繋いで順番に実行します。

@param cmds 実行するコマンドのリストを指定します。それぞれのコマンドは
以下のように String か Array で指定します。
commandline にはコマンド全体(例. "nroff -man")を表す
String を指定します。
options には Hash で指定します。
env には環境変数を Hash で指定します。
cmdname にはコマンド名を表す ...

Open3.#pipeline_w(*cmds) {|first_stdin, wait_thrs| ... } -> () (102.0)

指定したコマンドのリストをパイプで繋いで順番に実行します。最初の コマンドの標準入力に書き込む事ができます。

指定したコマンドのリストをパイプで繋いで順番に実行します。最初の
コマンドの標準入力に書き込む事ができます。

@param cmds 実行するコマンドのリストを指定します。それぞれのコマンドは
以下のように String か Array で指定します。
commandline にはコマンド全体(例. "nroff -man")を表す
String を指定します。
options には Hash で指定します。
env には環境変数を Hash で指定します。
...

絞り込み条件を変える

Open3.#popen2(*cmd) {|stdin, stdout, wait_thr| ... } -> () (102.0)

cmdで指定されたコマンドを実行し、そのプロセスの標準入力・標準出力にパイ プをつなぎます。Open3.popen3に似ていますが、標準エラーを扱いません。

cmdで指定されたコマンドを実行し、そのプロセスの標準入力・標準出力にパイ
プをつなぎます。Open3.popen3に似ていますが、標準エラーを扱いません。

@param cmd 実行するコマンドを指定します。

@return ブロックを指定した場合はブロックの最後に評価された値を返します。
ブロックを指定しなかった場合は標準入力、標準出力に接続されたパ
イプと実行したプロセスを待つためのスレッドを返します。

Open3.#popen3と同様に引数に環境変数とオプションを指定してコマンド
を実行する事ができます。

@see Open3.#popen3
...

Open3.#popen2e(*cmd) {|stdin, stdout_and_stderr, wait_thr| ... } -> () (102.0)

cmdで指定されたコマンドを実行し、そのプロセスの標準入力・標準出力と標準 エラーにパイプをつなぎます。Open3.popen3に似ていますが、標準出力と標準 エラーが1つの変数で扱われます。

cmdで指定されたコマンドを実行し、そのプロセスの標準入力・標準出力と標準
エラーにパイプをつなぎます。Open3.popen3に似ていますが、標準出力と標準
エラーが1つの変数で扱われます。

@param cmd 実行するコマンドを指定します。

@return ブロックを指定した場合はブロックの最後に評価された値を返します。
ブロックを指定しなかった場合は標準入力、標準出力と標準エラーに
接続されたパイプと実行したプロセスを待つためのスレッドを返しま
す。

Open3.#popen3と同様に引数に環境変数とオプションを指定してコマンド
...

static int rb_feature_p(const char *feature, int wait) (101.0)

Process::Status (35.0)

プロセスの終了ステータスを表すクラスです。 メソッド Process.#wait2 などの返り値として使われます。

プロセスの終了ステータスを表すクラスです。
メソッド Process.#wait2 などの返り値として使われます。

=== 使用例

wait を使用した例

fork { exit }
Process.wait
case
when $?.signaled?
p "child #{$?.pid} was killed by signal #{$?.termsig}"
if $?.coredump? # システムがこのステータスをサポートしてなければ常にfalse
p "child #{$?.pid} dumped core."
end
...

Thread::ConditionVariable (31.0)

スレッドの同期機構の一つである状態変数を実現するクラスです。

スレッドの同期機構の一つである状態変数を実現するクラスです。

以下も ConditionVariable を理解するのに参考になります。

http://www.ruby-doc.org/docs/ProgrammingRuby/html/tut_threads.html#UF

=== Condition Variable とは

あるスレッド A が排他領域で動いていたとします。スレッド A は現在空いていない
リソースが必要になったので空くまで待つことにしたとします。これはうまくいきません。
なぜなら、スレッド A は排他領域で動いているわけですから、他のスレッドは動くことが
できませ...

絞り込み条件を変える

NEWS for Ruby 2.0.0 (25.0)

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

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

それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリストは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。

== 1.9.3 以降の変更

=== 言語仕様の変更

* キーワード引数を追加しました
* %i, %I をシンボルの配列作成のために追加しました。(%w, %W に似ています)
* デフォルトのソースエンコーディングを US-ASCI...

NEWS for Ruby 2.3.0 (25.0)

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

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

それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリストは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。

== 2.2.0 以降の変更

=== 言語仕様の変更

* frozen-string-literal プラグマ:
* 実験的な機能として fronzen-string-literal というプラグマが導入されました。
897...

Open3.#popen3(*cmd) -> [IO, IO, IO, Thread] (20.0)

外部プログラム cmd を実行し、そのプロセスの標準入力、標準出力、標準エラー 出力に接続されたパイプと実行したプロセスを待つためのスレッドを 4 要素の 配列で返します。

外部プログラム cmd を実行し、そのプロセスの標準入力、標準出力、標準エラー
出力に接続されたパイプと実行したプロセスを待つためのスレッドを 4 要素の
配列で返します。

require 'open3'
stdin, stdout, stderr, wait_thr = *Open3.popen3("/usr/bin/nroff -man")

@param cmd 実行するコマンドを指定します。

@return ブロックを指定した場合はブロックの最後に評価された値を返します。
ブロックを指定しなかった場合は標準入力、標準出力、標準エラー出
力と...

Socket::Constants::MSG_PROXY -> Integer (17.0)

@todo Wait for full request

@todo
Wait for full request

Socket::Constants::TCP_LINGER2 -> Integer (17.0)

Lifetime of orphaned FIN_WAIT2 sockets。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。

Lifetime of orphaned FIN_WAIT2 sockets。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。

@see tcp(7linux)

絞り込み条件を変える

Socket::MSG_PROXY -> Integer (17.0)

@todo Wait for full request

@todo
Wait for full request

Socket::TCP_LINGER2 -> Integer (17.0)

Lifetime of orphaned FIN_WAIT2 sockets。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。

Lifetime of orphaned FIN_WAIT2 sockets。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。

@see tcp(7linux)

Thread::ConditionVariable#broadcast -> [Thread] (17.0)

状態変数を待っているスレッドをすべて再開します。再開された スレッドは Thread::ConditionVariable#wait で指定した mutex のロックを試みます。

状態変数を待っているスレッドをすべて再開します。再開された
スレッドは Thread::ConditionVariable#wait
で指定した mutex のロックを試みます。

@return 実行待ちしていたスレッドの配列を返します。

Thread::ConditionVariable#signal -> Thread | nil (17.0)

状態変数を待っているスレッドを1つ再開します。再開された スレッドは Thread::ConditionVariable#wait で指定した mutex のロックを試みます。

状態変数を待っているスレッドを1つ再開します。再開された
スレッドは Thread::ConditionVariable#wait
で指定した mutex のロックを試みます。

@return 状態を待っているスレッドがあった場合は、そのスレッドを返します。
そうでなければ nil を返します。

void rb_thread_schedule(void) (13.0)

他のスレッドに実行権を渡します。 対象の特定はできません。

他のスレッドに実行権を渡します。
対象の特定はできません。

see also: rb_thread_wait_fd, rb_thread_wait_for

絞り込み条件を変える

Open3.#pipeline_rw(*cmds) -> [IO, IO, [Thread]] (8.0)

指定したコマンドのリストをパイプで繋いで順番に実行します。最初の コマンドの標準入力に書き込む事も最後のコマンドの標準出力を受けとる事も できます。

指定したコマンドのリストをパイプで繋いで順番に実行します。最初の
コマンドの標準入力に書き込む事も最後のコマンドの標準出力を受けとる事も
できます。

@param cmds 実行するコマンドのリストを指定します。それぞれのコマンドは
以下のように String か Array で指定します。
commandline にはコマンド全体(例. "nroff -man")を表す
String を指定します。
options には Hash で指定します。
env には環境変数を...

1.6.8から1.8.0への変更点(まとめ) (7.0)

1.6.8から1.8.0への変更点(まとめ) * ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/文法の変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/正規表現>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Marshal>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Windows 対応>)) * ((<1.6.8から1.8.0への変更点(まとめ)/廃止された(される予定の)機能>)) * ((<1.6.8から1.8.0への変更点(まとめ)/ライブラリ>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張ライブラリAPI>)) * ((<1.6.8から1.8.0への変更点(まとめ)/バグ修正>)) * ((<1.6.8から1.8.0への変更点(まとめ)/サポートプラットフォームの追加>))

1.6.8から1.8.0への変更点(まとめ)
* ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>))
* ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>))
* ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>))
* ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>))
* ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>))
* ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>))...

ARGF.class#read_nonblock(maxlen) -> String (7.0)

処理中のファイルからノンブロッキングモードで最大 maxlen バイト読み込みます。 第二の形式では読み込んだデータを outbuf に破壊的に格納してそれを返します。 詳しくは IO#read_nonblock を参照してください。

処理中のファイルからノンブロッキングモードで最大 maxlen バイト読み込みます。
第二の形式では読み込んだデータを outbuf に破壊的に格納してそれを返します。
詳しくは IO#read_nonblock を参照してください。

ARGF.class#read などとは違って複数ファイルを同時に読み込むことはありません。

@param maxlen 読み込む長さの上限を整数で指定します。
@param outbuf 読み込んだデータを格納する String オブジェクトを指定します。
@param exception 読み込み時に Errno::EAGAIN、
...

ARGF.class#read_nonblock(maxlen, outbuf) -> String (7.0)

処理中のファイルからノンブロッキングモードで最大 maxlen バイト読み込みます。 第二の形式では読み込んだデータを outbuf に破壊的に格納してそれを返します。 詳しくは IO#read_nonblock を参照してください。

処理中のファイルからノンブロッキングモードで最大 maxlen バイト読み込みます。
第二の形式では読み込んだデータを outbuf に破壊的に格納してそれを返します。
詳しくは IO#read_nonblock を参照してください。

ARGF.class#read などとは違って複数ファイルを同時に読み込むことはありません。

@param maxlen 読み込む長さの上限を整数で指定します。
@param outbuf 読み込んだデータを格納する String オブジェクトを指定します。
@param exception 読み込み時に Errno::EAGAIN、
...

ARGF.class#read_nonblock(maxlen, outbuf, exception: true) -> String (7.0)

処理中のファイルからノンブロッキングモードで最大 maxlen バイト読み込みます。 第二の形式では読み込んだデータを outbuf に破壊的に格納してそれを返します。 詳しくは IO#read_nonblock を参照してください。

処理中のファイルからノンブロッキングモードで最大 maxlen バイト読み込みます。
第二の形式では読み込んだデータを outbuf に破壊的に格納してそれを返します。
詳しくは IO#read_nonblock を参照してください。

ARGF.class#read などとは違って複数ファイルを同時に読み込むことはありません。

@param maxlen 読み込む長さの上限を整数で指定します。
@param outbuf 読み込んだデータを格納する String オブジェクトを指定します。
@param exception 読み込み時に Errno::EAGAIN、
...

絞り込み条件を変える

IO#read_nonblock(maxlen, outbuf = nil, exception: true) -> String | Symbol | nil (7.0)

IO をノンブロッキングモードに設定し、 その後で read(2) システムコールにより 長さ maxlen を上限として読み込み、文字列として返します。 EAGAIN, EINTR などは Errno::EXXX 例外として呼出元に報告されます。

IO をノンブロッキングモードに設定し、
その後で read(2) システムコールにより
長さ maxlen を上限として読み込み、文字列として返します。
EAGAIN, EINTR などは Errno::EXXX 例外として呼出元に報告されます。

発生した例外 がErrno::EAGAIN、 Errno::EWOULDBLOCK である場合は、
その例外オブジェクトに IO::WaitReadable が Object#extend
されます。

なお、バッファが空でない場合は、read_nonblock はバッファから読み込みます。この場合、read(2) システムコールは呼ばれません...

Kernel$$? -> Process::Status | nil (7.0)

このスレッドで最後に終了した子プロセスのステータスです。

このスレッドで最後に終了した子プロセスのステータスです。

Process::Status オブジェクトが入っています。
子プロセスの終了時ステータスは Process::Status#exitstatus で得られます。

この変数はスレッドローカルで読み取り専用です。

@see Process.#wait
@see Process.last_status

Monitor (7.0)

スレッドの同期機構としてのモニター機能を提供するクラスです。 また同じスレッドから何度も lock できる Mutex としての機能も提供します。

スレッドの同期機構としてのモニター機能を提供するクラスです。
また同じスレッドから何度も lock できる Mutex としての機能も提供します。

MonitorMixin を include し、いくつかの別名を定義したクラスです。

=== 例

require 'monitor'

buf = []
mon = Monitor.new
empty_cond = mon.new_cond

# consumer
Thread.start do
loop do
mon.synchronize do
empty_cond.w...

MonitorMixin (7.0)

スレッドの同期機構としてのモニター機能を提供するモジュールです。

スレッドの同期機構としてのモニター機能を提供するモジュールです。

クラスに Module#include したり、オブジェクトに
Object#extend したりすることでそのクラス/オブジェクトに
モニタ機能を追加します。

=== 例
消費者、生産者問題の例
require 'monitor'

buf = []
buf.extend(MonitorMixin) # 配列にモニタ機能を追加
empty_cond = buf.new_cond # 配列が空であるかないかを通知する条件変数

# consumer
Thread.start do
...

NEWS for Ruby 2.2.0 (7.0)

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

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

それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリストは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。

== 2.1.0 以降の変更

=== 言語仕様の変更

* nil/true/false
* nil/true/false はフリーズされました 8923

* Hash リテラル
* 後ろにコロンのあるシンボルをキーにしたと...

絞り込み条件を変える

Process.#setpgrp -> 0 (7.0)

カレントプロセスの ID と同じ ID をもつプロセスグループを作成し、カレントプロセスをそのリーダーにします。 Process.#setpgid(0, 0) と同じです。

カレントプロセスの ID と同じ ID をもつプロセスグループを作成し、カレントプロセスをそのリーダーにします。
Process.#setpgid(0, 0) と同じです。

@raise Errno::EXXX プロセスグループの設定に失敗した場合に発生します。

@raise NotImplementedError メソッドが現在のプラットフォームで実装されていない場合に発生します。

fork do
p [Process.pid, Process.getpgrp]
p Process.setpgrp
p [Process.pid, Process.getpgrp]
...

Process.last_status -> Process::Status | nil (7.0)

カレントスレッドで最後に終了した子プロセスのステータスを返します。

カレントスレッドで最後に終了した子プロセスのステータスを返します。

変数 $? の値と同じです。

Process.wait Process.spawn("ruby", "-e", "exit 13")
Process.last_status # => #<Process::Status: pid 4825 exit 13>

カレントスレッドで子プロセスを実行したことがない場合は nil を返します。

Process.last_status # => nil

@see Process::Status
@see $?

Process::Status#>>(num) -> Integer (7.0)

self.to_i >> num と同じです。

self.to_i >> num と同じです。

@param num 整数を指定します。

fork { exit 99 } #=> 26563
Process.wait #=> 26563
$?.to_i #=> 25344
$? >> 8 #=> 99

Signal.#trap(signal) { ... } -> String | Proc | nil (7.0)

指定された割り込み signal に対するハンドラとして command を登録します。 指定したシグナルが捕捉された時には例外が発生せず、代わりに command が実行されます。 ブロックを指定した場合にはブロックをハンドラとして登録します。

指定された割り込み signal に対するハンドラとして
command を登録します。
指定したシグナルが捕捉された時には例外が発生せず、代わりに command が実行されます。
ブロックを指定した場合にはブロックをハンドラとして登録します。

trap は前回の trap で設定したハンドラを返します。
文字列を登録していた場合はそれを、
ブロックを登録していたらそれを Proc オブジェクトに変換して返します。
また何も登録されていないときも nil を返します。
ruby の仕組みの外でシグナルハンドラが登録された場合
(例えば拡張ライブラリが独自に sigaction を呼んだ場...

Signal.#trap(signal, command) -> String | Proc | nil (7.0)

指定された割り込み signal に対するハンドラとして command を登録します。 指定したシグナルが捕捉された時には例外が発生せず、代わりに command が実行されます。 ブロックを指定した場合にはブロックをハンドラとして登録します。

指定された割り込み signal に対するハンドラとして
command を登録します。
指定したシグナルが捕捉された時には例外が発生せず、代わりに command が実行されます。
ブロックを指定した場合にはブロックをハンドラとして登録します。

trap は前回の trap で設定したハンドラを返します。
文字列を登録していた場合はそれを、
ブロックを登録していたらそれを Proc オブジェクトに変換して返します。
また何も登録されていないときも nil を返します。
ruby の仕組みの外でシグナルハンドラが登録された場合
(例えば拡張ライブラリが独自に sigaction を呼んだ場...

絞り込み条件を変える

Socket#connect_nonblock(server_sockaddr) -> 0 (7.0)

ソケットをノンブロッキングモードに設定した後、 connect(2) を呼び出します。

ソケットをノンブロッキングモードに設定した後、
connect(2) を呼び出します。

引数、返り値は Socket#connect と同じです。

connect が EINPROGRESS エラーを報告した場合、その例外(Errno::EINPROGRESS)
には IO::WaitWritable が Object#extend されます。
これを connect_nonblock をリトライするために使うことができます。

# Pull down Google's web page
require 'socket'
include Socket::Constants
...

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

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

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

close 後は以下のように動作します。

* Thread::Queue#closed? は true を返します
* Thread::Queue#close は無視されます
* Thread::Queue#enq/push/<< は ClosedQueueError を発生します
* Thread::Queue#empty? が false を返す場合は Thread::Queue#deq/pop/shift は通常通りオブジェクトを返します

また、ClosedQueueError...

ruby 1.8.4 feature (7.0)

ruby 1.8.4 feature ruby 1.8.4 での ruby 1.8.3 からの変更点です。

ruby 1.8.4 feature
ruby 1.8.4 での ruby 1.8.3 からの変更点です。

掲載方針

*バグ修正の影響も含めて動作が変わるものを収録する。
*単にバグを直しただけのものは収録しない。
*ライブラリへの単なる定数の追加は収録しない。

以下は各変更点に付けるべきタグです。

記号について(特に重要なものは大文字(主観))

# * カテゴリ
# * [ruby]: ruby インタプリタの変更
# * [api]: 拡張ライブラリ API
# * [lib]: ライブラリ
* レベル
* [bug]: バグ修正
* [new]: 追加され...

un (7.0)

Unix の基本コマンドの代替となるユーティリティ。

Unix の基本コマンドの代替となるユーティリティ。

Makefile 内でシステムに依存しないように用意されました。
mkmf が使用します。

Windows などワイルドカードを認識しないシステム(シェル)のために引数は
unがワイルドカード展開(Dir.glob参照)します(Unix ではシェ
ルとunにより二重にワイルドカード展開されます)。

=== 使い方:

ruby -run -e cp -- [-prv] SOURCE DEST
ruby -run -e ln -- [-sfv] TARGET LINK_NAME
ruby -run -e mv -- [...

Open3.#pipeline_r(*cmds) -> [IO, [Thread]] (2.0)

指定したコマンドのリストをパイプで繋いで順番に実行します。最後の コマンドの標準出力を受けとる事ができます。

指定したコマンドのリストをパイプで繋いで順番に実行します。最後の
コマンドの標準出力を受けとる事ができます。

@param cmds 実行するコマンドのリストを指定します。それぞれのコマンドは
以下のように String か Array で指定します。
commandline にはコマンド全体(例. "nroff -man")を表す
String を指定します。
options には Hash で指定します。
env には環境変数を Hash で指定します。
...

絞り込み条件を変える

Open3.#pipeline_start(*cmds) -> [Thread] (2.0)

指定したコマンドのリストをパイプで繋いで順番に実行します。

指定したコマンドのリストをパイプで繋いで順番に実行します。

@param cmds 実行するコマンドのリストを指定します。それぞれのコマンドは
以下のように String か Array で指定します。
commandline にはコマンド全体(例. "nroff -man")を表す
String を指定します。
options には Hash で指定します。
env には環境変数を Hash で指定します。
cmdname にはコマンド名を表す ...

Open3.#pipeline_w(*cmds) -> [IO, [Thread]] (2.0)

指定したコマンドのリストをパイプで繋いで順番に実行します。最初の コマンドの標準入力に書き込む事ができます。

指定したコマンドのリストをパイプで繋いで順番に実行します。最初の
コマンドの標準入力に書き込む事ができます。

@param cmds 実行するコマンドのリストを指定します。それぞれのコマンドは
以下のように String か Array で指定します。
commandline にはコマンド全体(例. "nroff -man")を表す
String を指定します。
options には Hash で指定します。
env には環境変数を Hash で指定します。
...

Open3.#popen2(*cmd) -> [IO, IO, Thread] (2.0)

cmdで指定されたコマンドを実行し、そのプロセスの標準入力・標準出力にパイ プをつなぎます。Open3.popen3に似ていますが、標準エラーを扱いません。

cmdで指定されたコマンドを実行し、そのプロセスの標準入力・標準出力にパイ
プをつなぎます。Open3.popen3に似ていますが、標準エラーを扱いません。

@param cmd 実行するコマンドを指定します。

@return ブロックを指定した場合はブロックの最後に評価された値を返します。
ブロックを指定しなかった場合は標準入力、標準出力に接続されたパ
イプと実行したプロセスを待つためのスレッドを返します。

Open3.#popen3と同様に引数に環境変数とオプションを指定してコマンド
を実行する事ができます。

@see Open3.#popen3
...

Open3.#popen2e(*cmd) -> [IO, IO, Thread] (2.0)

cmdで指定されたコマンドを実行し、そのプロセスの標準入力・標準出力と標準 エラーにパイプをつなぎます。Open3.popen3に似ていますが、標準出力と標準 エラーが1つの変数で扱われます。

cmdで指定されたコマンドを実行し、そのプロセスの標準入力・標準出力と標準
エラーにパイプをつなぎます。Open3.popen3に似ていますが、標準出力と標準
エラーが1つの変数で扱われます。

@param cmd 実行するコマンドを指定します。

@return ブロックを指定した場合はブロックの最後に評価された値を返します。
ブロックを指定しなかった場合は標準入力、標準出力と標準エラーに
接続されたパイプと実行したプロセスを待つためのスレッドを返しま
す。

Open3.#popen3と同様に引数に環境変数とオプションを指定してコマンド
...