質問
私はat_exitブロックに自己プロセスの終了ステータスを決定することはできますか?
at_exit do
if this_process_status.success?
print 'Success'
else
print 'Failure'
end
end
解決 2
tadman の
からのアイデアを使用してat_exit do
if $!.nil? || $!.is_a?(SystemExit) && $!.success?
print 'success'
else
code = $!.is_a?(SystemExit) ? $!.status : 1
print "failure with code #{code}"
end
end
他のヒント
この上のドキュメントは本当に薄いですが、$!発生した最後の例外となるように設定し、終了後に()これはSystemExit例外で呼び出しています。
:あなたがこれを取得一緒にそれらの2を置きますat_exit do
if ($!.success?)
print 'Success'
else
print 'Failure'
end
end
所属していません StackOverflow