33件ヒット
[1-33件を表示]
(0.049秒)
別のキーワード
検索結果
-
Kernel
. # at _ exit { . . . } -> Proc (27173.0) -
与えられたブロックをインタプリタ終了時に実行します。
...クをインタプリタ終了時に実行します。
at_exitがメソッドである点を除けば、END ブロックによる終了
処理の登録と同等です。登録した処理を取り消すことはできません。
spec/terminateも参照してください。
@return 登録した処......Proc オブジェクトで返します。
//emlist[例][ruby]{
3.times do |i|
at_exit{puts "at_exit#{i}"}
end
END{puts "END"}
at_exit{puts "at_exit"}
puts "main_end"
#=> main_end
# at_exit
# END
# at_exit2
# at_exit1
# at_exit0
//}
@see d:spec/control#END,Kernel.#exit!,Kernel.#fork... -
終了処理 (3062.0)
-
終了処理 Ruby はスクリプトの終端に達した場合や捕捉していない例外が発生した場 合に終了します(関数 Kernel.#exit や Kernel.#abort 、メインスレッドに対する Thread.kill などは SystemExit 例外を発生させます)。終了時には以下 の処理が順に実行されます。
...了処理
Ruby はスクリプトの終端に達した場合や捕捉していない例外が発生した場
合に終了します(関数 Kernel.#exit や Kernel.#abort
、メインスレッドに対する Thread.kill などは
SystemExit 例外を発生させます)。終了時には以下
の処......シグナル SIGEXIT のハンドラが登録されていればそれを実
行する(Kernel.#trap を参照)。
(1) d:spec/control#END ブロック(END { ... } または関数
Kernel.#at_exit で指定したブロック)が登録されていれば、
そのブロックを登録......了方法によります。例えば、
* スクリプトの終端に達した場合は 0
* Kernel.#exit に渡した引数
* SystemExit による例外以外は 1
関数 Kernel.#exit! による終了は、_exit(2)
を実行するだけで、上記の処理はいずれも行われ... -
制御構造 (66.0)
-
制御構造 条件分岐: * if * unless * case 繰り返し: * while * until * for * break * next * redo * retry 例外処理: * raise * begin その他: * return * BEGIN * END
...一引数で指定された例外を、第二引数をメッセージとして発生さ
せます。第四の形式の第三引数は
$@または
Kernel.#callerで得られる
スタック情報で、例外が発生した場所を示します。
発生した例外は後述の begin 式の rescue......ロックで指定した文はインタ
プリタが終了する時に実行されます。Ruby の終了時処理について詳しくは
spec/terminateを参照してください。
複数の END ブロックを登録した場合は、登録したときと逆の順序で実
行されます。
//......。そのような目的には Kernel.#at_exit を使
います。
//emlist[][ruby]{
5.times do |i|
END { p i }
end
# => 0
//}
END をメソッド定義式中に書くと警告が出ます。
意図的にこのようなことを行いたい場合は Kernel.#at_exit を使
います。
d...