ライブラリ
- ビルトイン (44)
キーワード
- Ruby プログラムの実行 (11)
- Thread (11)
-
at
_ exit (11) - trap (22)
- オブジェクト指向スクリプト言語 Ruby リファレンスマニュアル (11)
- スレッド (11)
- 制御構造 (11)
- 終了処理 (11)
検索結果
先頭5件
-
終了処理 (23000.0)
-
終了処理 Ruby はスクリプトの終端に達した場合や捕捉していない例外が発生した場 合に終了します(関数 Kernel.#exit や Kernel.#abort 、メインスレッドに対する Thread.kill などは SystemExit 例外を発生させます)。終了時には以下 の処理が順に実行されます。
終了処理
Ruby はスクリプトの終端に達した場合や捕捉していない例外が発生した場
合に終了します(関数 Kernel.#exit や Kernel.#abort
、メインスレッドに対する Thread.kill などは
SystemExit 例外を発生させます)。終了時には以下
の処理が順に実行されます。
(1) すべてのスレッドを Thread.kill する。
(1) Ruby の擬似シグナル SIGEXIT のハンドラが登録されていればそれを実
行する(Kernel.#trap を参照)。
(1) d:spec/control#END ブロック(END { ... -
Kernel
. # at _ exit { . . . } -> Proc (6.0) -
与えられたブロックをインタプリタ終了時に実行します。
...点を除けば、END ブロックによる終了
処理の登録と同等です。登録した処理を取り消すことはできません。
spec/terminateも参照してください。
@return 登録した処理を Proc オブジェクトで返します。
//emlist[例][ruby]{
3.times do |i|... -
Ruby プログラムの実行 (6.0)
-
Ruby プログラムの実行 === Ruby プログラム
...式の連なりを評価し、END ブロックがあれば最後にそれを評価して終了します (終了処理の詳細については spec/terminate を参照のこと)。
=== 文
==== if
if 文は、まず条件式を評価し、その値が真ならば対応する本体を評価しま... -
Signal
. # trap(signal) { . . . } -> String | Proc | nil (6.0) -
指定された割り込み signal に対するハンドラとして command を登録します。 指定したシグナルが捕捉された時には例外が発生せず、代わりに command が実行されます。 ブロックを指定した場合にはブロックをハンドラとして登録します。
...) # => "DEFAULT"
Signal.trap(:INT, nil) # => "EXIT"
//emlist[例][ruby]{
Signal.trap(0, proc { puts "Terminating: #{$$}" })
Signal.trap("CLD") { puts "Child died" }
fork && Process.wait
# => Terminating: 13939
# => Child died
# => Terminating: 13907
//}
@see spec/terminate... -
Signal
. # trap(signal , command) -> String | Proc | nil (6.0) -
指定された割り込み signal に対するハンドラとして command を登録します。 指定したシグナルが捕捉された時には例外が発生せず、代わりに command が実行されます。 ブロックを指定した場合にはブロックをハンドラとして登録します。
...) # => "DEFAULT"
Signal.trap(:INT, nil) # => "EXIT"
//emlist[例][ruby]{
Signal.trap(0, proc { puts "Terminating: #{$$}" })
Signal.trap("CLD") { puts "Child died" }
fork && Process.wait
# => Terminating: 13939
# => Child died
# => Terminating: 13907
//}
@see spec/terminate... -
Thread (6.0)
-
スレッドを表すクラスです。スレッドとはメモリ空間を共有して同時に実行される制御の流れです。 Thread を使うことで並行プログラミングが可能になります。
...ead#kill
などによって終了させられた時も同様に実行されます。
メインスレッドの終了時の詳細に関しては spec/terminate を参照して下さい。
=== スレッドの状態
個々のスレッドは、以下の実行状態を持ちます。これらの状態... -
オブジェクト指向スクリプト言語 Ruby リファレンスマニュアル (6.0)
-
オブジェクト指向スクリプト言語 Ruby リファレンスマニュアル * Ruby オフィシャルサイト https://www.ruby-lang.org/ja/ * 原著:まつもとゆきひろ * 最新版URL: https://www.ruby-lang.org/ja/documentation/
...* spec/envvars
==== Ruby 言語仕様
Ruby でのオブジェクト:
* spec/object
* spec/class
プロセスの実行:
* spec/eval
* spec/terminate
* spec/thread
* spec/safelevel
Ruby の文法:
* spec/lexical
* spec/program
* spec/variables
* spec/literal
* spec/operator......* spec/envvars
==== Ruby 言語仕様
Ruby でのオブジェクト:
* spec/object
* spec/class
プロセスの実行:
* spec/eval
* spec/terminate
* spec/thread
Ruby の文法:
* spec/lexical
* spec/program
* spec/variables
* spec/literal
* spec/operator
* spec/control
*... -
スレッド (6.0)
-
スレッド スレッドとはメモリ空間を共有して同時に実行される制御の流れです。 Ruby ではスレッドはThread クラスのインスタンスとして表されます。
...ead#kill
などによって終了させられた時も同様に実行されます。
メインスレッドの終了時の詳細に関しては spec/terminate を参照して下さい。
=== スレッドの状態
個々のスレッドは、以下の実行状態を持ちます。これらの状態... -
制御構造 (6.0)
-
制御構造 条件分岐: * if * unless * case 繰り返し: * while * until * for * break * next * redo * retry 例外処理: * raise * begin その他: * return * BEGIN * END
...D ブロックで指定した文はインタ
プリタが終了する時に実行されます。Ruby の終了時処理について詳しくは
spec/terminateを参照してください。
複数の END ブロックを登録した場合は、登録したときと逆の順序で実
行されます...