ライブラリ
- ビルトイン (322)
-
irb
/ cmd / help (11) -
irb
/ extend-command (11) - open3 (33)
- optparse (11)
- pty (22)
- rake (11)
- readline (11)
-
shell
/ process-controller (6) - timeout (19)
- win32ole (22)
クラス
- Fiber (5)
-
IRB
:: ExtendCommand :: Help (11) - LocalJumpError (11)
- OptionParser (11)
-
PTY
:: ChildExited (11) -
Process
:: Status (22) -
Shell
:: ProcessController (6) - SystemExit (11)
- Thread (66)
- WIN32OLE (11)
-
WIN32OLE
_ TYPE (11)
モジュール
- FileUtils (11)
-
IRB
:: ExtendCommandBundle (11) - Kernel (90)
- ObjectSpace (22)
- Open3 (33)
- Process (73)
- Readline (11)
- Signal (22)
- Timeout (19)
キーワード
- ChildExited (11)
- Ruby用語集 (11)
-
USING
_ AT _ EXIT _ WHEN _ PROCESS _ EXIT (6) -
at
_ exit (11) -
define
_ finalizer (22) - execute (11)
- exit! (22)
-
exit
_ value (11) - exited? (11)
- exitstatus (11)
- fork (22)
- irb (11)
-
irb
_ exit (11) - kill (22)
-
last
_ status (7) -
localjump
_ exitstatus (11) -
ole
_ respond _ to? (11) -
on
_ tail (11) - pass (11)
- pipeline (11)
-
pipeline
_ r (22) - progids (11)
- raise (5)
-
rb
_ f _ at _ exit (11) -
rb
_ f _ exit (11) -
rb
_ gc _ call _ finalizer _ at _ exit (11) -
rb
_ thread _ exit (11) - readline (11)
- sh (11)
- status (22)
- success? (11)
- system (24)
- terminate (11)
- throw (11)
- timeout (19)
- trap (22)
- wait (11)
- wait2 (11)
- waitall (11)
- waitpid (11)
- waitpid2 (11)
- セキュリティモデル (2)
- 制御構造 (11)
検索結果
先頭5件
-
Kernel
. # exit(status = true) -> () (27243.0) -
Rubyプログラムの実行を終了します。status として整 数が与えられた場合、その値を Ruby コマンドの終了ステータスとします。 デフォルトの終了ステータスは 0(正常終了)です。
...了)です。
status が true の場合 0、 false の場合 1 を引数に指定したとみなされます。この値はCレベルの定数
EXIT_SUCCESS、EXIT_FAILURE の値なので、正確には環境依存です。
exit は例外 SystemExit を発生させ
ることによってプログラ......egin 節で捕捉することができます。
@param status 終了ステータスを整数か true または false で与えます。
//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... -
irb (26120.0)
-
irb は Interactive Ruby の略です。 irb を使うと、Ruby の式を標準入力から簡単に入力・実行することができます。
...irb は Interactive Ruby の略です。
irb を使うと、Ruby の式を標準入力から簡単に入力・実行することができます。
=== irb の使い方
Ruby さえ知っていれば irb を使うのは簡単です。
irb コマンドを実行すると、以下のようなプロン......。
$ irb
irb(main):001:0>
あとは Ruby の式を入力するだけで、その式が実行され、結果が表示されます。
irb(main):001:0> 1+2
3
irb(main):002:0> class Foo
irb(main):003:1> def foo
irb(main):004:2> print 1
irb(main):005:2> end
irb(main):006:1>......行
nil
irb#3(#<Foo:0x4010af3c>):003:0> bar # f.barの実行
barnil
irb#3(#<Foo:0x4010af3c>):004:0> kill 1, 2, 3# jobのkill
nil
irb(main):009:0> jobs
#0->irb on main (#<Thread:0x400fb7e4> : running)
nil
irb(main):010:0> exit # 終了
$
=== irb で... -
Thread
# exit -> self (24325.0) -
スレッドの実行を終了させます。終了時に ensure 節が実行されます。
...ただし、スレッドは終了処理中(aborting)にはなりますが、
直ちに終了するとは限りません。すでに終了している場合は何もしません。このメソッドにより
終了したスレッドの Thread#value の返り値は不定です。
自身がメイン......l.#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.#exi... -
Shell
:: ProcessController :: USING _ AT _ EXIT _ WHEN _ PROCESS _ EXIT -> true (24302.0) -
@todo
@todo -
static VALUE localjump
_ exitstatus(VALUE exc) (18400.0) -
-
void rb
_ gc _ call _ finalizer _ at _ exit(void) (18400.0) -
-
LocalJumpError
# exit _ value -> object (18313.0) -
例外 LocalJumpError を発生する原因となった break や return に渡した値を返します。
...例外 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 LocalJumpError => err
p err # => #<LocalJumpError: break from block-closure>
p err.reason # => :break
p err.exit_value # => 5
end... -
Readline
. # readline(prompt = "" , add _ hist = false) -> String | nil (18312.0) -
prompt を出力し、ユーザからのキー入力を待ちます。 エンターキーの押下などでユーザが文字列を入力し終えると、 入力した文字列を返します。 このとき、add_hist が true であれば、入力した文字列を入力履歴に追加します。 何も入力していない状態で EOF(UNIX では ^D) を入力するなどで、 ユーザからの入力がない場合は nil を返します。
...列を返します。
このとき、add_hist が true であれば、入力した文字列を入力履歴に追加します。
何も入力していない状態で EOF(UNIX では ^D) を入力するなどで、
ユーザからの入力がない場合は nil を返します。
本メソッドは......時には行内編集が可能で、vi モードと Emacs モードが用意されています。
デフォルトは Emacs モードです。
@param prompt カーソルの前に表示する文字列を指定します。デフォルトは""です。
@param add_hist 真ならば、入力した文字......す。
例: ^CによるInterrupt例外を捕捉して、端末状態を復帰する。
require 'readline'
stty_save = `stty -g`.chomp
begin
while buf = Readline.readline
p buf
end
rescue Interrupt
system("stty", stty_save)
exit
end
例: INTシグナルを捕捉... -
ObjectSpace
. # define _ finalizer(obj) {|id| . . . } -> Array (18306.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
end......回避しています。
//emlist[例][ruby]{
class Bar
def Bar.callback
proc {
puts "bar"
}
end
def initialize
ObjectSpace.define_finalizer(self, Bar.callback)
end
end
Bar.new
GC.start
//}
proc の呼び出しで発生した大域脱出(exitや例外)は無視されま... -
ObjectSpace
. # define _ finalizer(obj , proc) -> Array (18306.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
end......回避しています。
//emlist[例][ruby]{
class Bar
def Bar.callback
proc {
puts "bar"
}
end
def initialize
ObjectSpace.define_finalizer(self, Bar.callback)
end
end
Bar.new
GC.start
//}
proc の呼び出しで発生した大域脱出(exitや例外)は無視されま...