種類
- 特異メソッド (227)
- モジュール関数 (200)
- インスタンスメソッド (136)
- クラス (33)
クラス
- Fiber (15)
- IO (154)
- LocalJumpError (11)
-
Process
:: Status (44) - SystemExit (33)
- Thread (77)
モジュール
- Kernel (90)
- ObjectSpace (22)
- Process (95)
- Signal (22)
キーワード
- >> (11)
- Interrupt (11)
- Status (11)
- SystemExit (11)
-
at
_ exit (11) -
define
_ finalizer (22) - detach (11)
- exit! (22)
-
exit
_ value (11) - exited? (11)
- exitstatus (11)
- fork (22)
- kill (22)
-
last
_ status (7) - new (11)
- pass (11)
- popen (154)
- raise (15)
- status (22)
- success? (11)
- system (24)
- terminate (11)
- throw (11)
-
to
_ i (11) - trap (22)
- wait (11)
- wait2 (11)
- waitall (11)
- waitpid (11)
- waitpid2 (11)
検索結果
先頭5件
-
Kernel
. # exit(status = true) -> () (24245.0) -
Rubyプログラムの実行を終了します。status として整 数が与えられた場合、その値を Ruby コマンドの終了ステータスとします。 デフォルトの終了ステータスは 0(正常終了)です。
...す。この値はCレベルの定数
EXIT_SUCCESS、EXIT_FAILURE の値なので、正確には環境依存です。
exit は例外 SystemExit を発生させ
ることによってプログラムの実行を終了させますので、
必要に応じて begin 節で捕捉することができま......す。
//emlist[例][ruby]{
puts 'start'
begin
puts 'start1...'
exit
rescue SystemExit => err
puts "end1 with #{err.inspect}"
end
begin
puts 'start2...'
exit
ensure
puts 'end2...'
end
puts 'end' #実行されない
#=> start
# start1...
# end1 with #<SystemExit: exit>
# start2.........
# end2...
#終了ステータス:0
//}
@see Kernel.#exit!,Kernel.#abort, d:spec/control#begin... -
Thread
# exit -> self (24227.0) -
スレッドの実行を終了させます。終了時に ensure 節が実行されます。
...スレッドの実行を終了させます。終了時に ensure 節が実行されます。
ただし、スレッドは終了処理中(aborting)にはなりますが、
直ちに終了するとは限りません。すでに終了している場合は何もしません。このメソッドによ......#exit(0)
により終了します。
Kernel.#exit と違い例外 SystemExit を発生しません。
th1 = Thread.new do
begin
sleep 10
ensure
p "this will be displayed"
end
end
sleep 0.1
th1.kill
#=> "this will be displayed"
@see Kernel.#exit, Kernel.#exit!... -
Process
. exit(status = true) -> () (24225.0) -
プロセスを終了します。関数 Kernel.#exit と同じです。
...プロセスを終了します。関数 Kernel.#exit と同じです。
@param status 終了ステータスを boolean か整数で指定します。true の場合は成功を、false は失敗を意味します。
@see exit(3)... -
Thread
. exit -> () (24219.0) -
カレントスレッドに対して Thread#exit を呼びます。
...カレントスレッドに対して Thread#exit を呼びます。... -
Kernel
. # at _ exit { . . . } -> Proc (12275.0) -
与えられたブロックをインタプリタ終了時に実行します。
...t_exitがメソッドである点を除けば、END ブロックによる終了
処理の登録と同等です。登録した処理を取り消すことはできません。
spec/terminateも参照してください。
@return 登録した処理を Proc オブジェクトで返します。
//emlis......t[例][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... -
Kernel
. # exit!(status = false) -> () (12245.0) -
Rubyプログラムの実行を即座に終了します。 status として整数が与えられた場合、その値を Ruby コマンドの終了ステータスとします。 デフォルトの終了ステータスは 1 です。
...0、 false の場合 1 を引数に指定したとみなされます。この値はCレベルの定数
EXIT_SUCCESS、EXIT_FAILURE の値なので、正確には環境依存です。
exit! は exit とは違って、例外処理などは一切行ないませ
ん。 Kernel.#fork の後、子プロ......。
//emlist[例][ruby]{
STDOUT.sync = true #表示前に終了しないようにする
puts 'start'
begin
puts 'start1...'
exit!
ensure
puts 'end1...' #実行されない
end
puts 'end' #実行されない
#=> start
# start1...
#終了ステータス:1
//}
@see Kernel.#exit,Kernel.#abort......,Kernel.#at_exit,Kernel.#fork... -
Process
. exit!(status = false) -> () (12225.0) -
関数 Kernel.#exit! と同じです。
...関数 Kernel.#exit! と同じです。
@param status 終了ステータスを boolean か整数で指定します。true の場合は成功を、false は失敗を意味します。
@see _exit(2)... -
Process
:: Status # exited? -> bool (12218.0) -
プロセスが exit(2) などにより正常に終了した場合に、真を返します。 そうでない場合に false を返します。
...プロセスが exit(2) などにより正常に終了した場合に、真を返します。
そうでない場合に false を返します。... -
LocalJumpError
# exit _ value -> object (12215.0) -
例外 LocalJumpError を発生する原因となった break や return に渡した値を返します。
...:
def foo
proc { return 10 }
end
begin
foo.call
rescue LocalJumpError => err
p err # => #<LocalJumpError: return from block-closure>
p err.reason # => :return
p err.exit_value # => 10
end
begin
Block.new { break 5 }.call
rescue LocalJum......pError => err
p err # => #<LocalJumpError: break from block-closure>
p err.reason # => :break
p err.exit_value # => 5
end... -
ObjectSpace
. # define _ finalizer(obj) {|id| . . . } -> Array (12208.0) -
obj が解放されるときに実行されるファイナライザ proc を 登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで はなく追加登録されます。固定値 0 と proc を配列にして返します。
...ロックを指定した場合は、そのブロックがファイナライザになります。
obj の回収時にブロックは obj の ID (BasicObject#__id__)を引数とし
て実行されます。
しかし、後述の問題があるのでブロックでファイナライザを登録するの......す。proc は obj の回収時に obj の ID を引数として実行されます。
=== 使い方の注意
以下は、define_finalizer の使い方の悪い例です。
//emlist[悪い例][ruby]{
class Foo
def initialize
ObjectSpace.define_finalizer(self) {
puts "foo"
}
end
e......file は、ファイナライザの使い方の
良い例になっています。これは、クラスのコンテキストで Proc を
生成することで上記の問題を回避しています。
//emlist[例][ruby]{
class Bar
def Bar.callback
proc {
puts "bar"
}
end
def ini...