ライブラリ
- ビルトイン (24)
-
irb
/ context (12)
モジュール
- Kernel (24)
キーワード
- Context (12)
- Rubyで使われる記号の意味(正規表現の複雑な記号は除く) (12)
- Ruby用語集 (12)
-
at
_ exit (12) - optparse (12)
-
ruby 1
. 6 feature (12) - 制御構造 (12)
- 終了処理 (12)
検索結果
先頭5件
-
Kernel
. # exit(status = true) -> () (18149.0) -
Rubyプログラムの実行を終了します。status として整 数が与えられた場合、その値を Ruby コマンドの終了ステータスとします。 デフォルトの終了ステータスは 0(正常終了)です。
...false の場合 1 を引数に指定したとみなされます。この値はCレベルの定数
EXIT_SUCCESS、EXIT_FAILURE の値なので、正確には環境依存です。
exit は例外 SystemExit を発生させ
ることによってプログラムの実行を終了させますので、
必........'
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
. # at _ exit { . . . } -> Proc (6167.0) -
与えられたブロックをインタプリタ終了時に実行します。
...与えられたブロックをインタプリタ終了時に実行します。
at_exitがメソッドである点を除けば、END ブロックによる終了
処理の登録と同等です。登録した処理を取り消すことはできません。
spec/terminateも参照してください。......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... -
Rubyで使われる記号の意味(正規表現の複雑な記号は除く) (3734.0)
-
Rubyで使われる記号の意味(正規表現の複雑な記号は除く) ex q num per and or plus minus ast slash hat sq period comma langl rangl eq tilde dollar at under lbrarbra lbra2rbra2 lbra3rbra3 dq colon ac backslash semicolon
...lse true
//}
: /^xxx/
正規表現で、行頭。文字列の先頭や改行文字の直後の位置にマッチします。
===[a:colon] :
: :exit等の:のついた識別子
シンボルリテラル。d:spec/literal#symbol を参照。
: Net::HTTP
定数のスコープ演算子。d:spec/... -
Ruby用語集 (420.0)
-
Ruby用語集 A B C D E F G I J M N O R S Y
...し、合わせてドキュメントの HTML を生成する。
参照:rdoc
: refinement
既存のクラスやモジュールを特定のスコープでのみ改変する仕組み。
参照:Module#refine、Module#using、main.using
: Ruby Central
Rubyのサポートと世界の Ruby......むやみに改変することは思わぬバグを
生みやすい。
そのため、改変の効果を局所化する refinement という機構がある。
→ refinement
: オペランド
: operand
演算子式において演算の対象となる式。式 a + b * c において、+ の......証に限って使われることもある。
→ユニットテスト、ベンチマークテスト
===[a:ta] た
: 大域脱出
: non-local exit
Ruby においては、例外の発生もしくは Kernel.#throw によって
処理の実行が中断されること。
例外の場合は be... -
制御構造 (288.0)
-
制御構造 条件分岐: * if * unless * case 繰り返し: * while * until * for * break * next * redo * retry 例外処理: * raise * begin その他: * return * BEGIN * END
...rror_type が省略された時は StandardError のサブクラスであ
る全ての例外を捕捉します。Rubyの組み込み例外は(SystemExit や
Interrupt のような脱出を目的としたものを除いて)
StandardError のサブクラスです。
例外クラスのクラス階層......のような目的には Kernel.#at_exit を使
います。
//emlist[][ruby]{
5.times do |i|
END { p i }
end
# => 0
//}
END をメソッド定義式中に書くと警告が出ます。
意図的にこのようなことを行いたい場合は Kernel.#at_exit を使
います。
def foo......hod; use at_exit
nil
"end"
END は、BEGIN とは異なり実行時に後処理を登録します。したがっ
て、以下の例では END ブロックは実行されません。
if false
END { p "end" }
end
END や Kernel.#at_exit で登録... -
optparse (54.0)
-
コマンドラインのオプションを取り扱うためのライブラリです。
...ptionParser.new
parser.on('-i') { puts "-i" }
parser.on('-o') { puts '-o' }
subparsers = Hash.new {|h,k|
$stderr.puts "no such subcommand: #{k}"
exit 1
}
subparsers['add'] = OptionParser.new.on('-i') { puts "add -i" }
subparsers['del'] = OptionParser.new.on('-i') { puts "del -i" }
subparsers['l... -
終了処理 (52.0)
-
終了処理 Ruby はスクリプトの終端に達した場合や捕捉していない例外が発生した場 合に終了します(関数 Kernel.#exit や Kernel.#abort 、メインスレッドに対する Thread.kill などは SystemExit 例外を発生させます)。終了時には以下 の処理が順に実行されます。
...Kernel.#exit や Kernel.#abort
、メインスレッドに対する Thread.kill などは
SystemExit 例外を発生させます)。終了時には以下
の処理が順に実行されます。
(1) すべてのスレッドを Thread.kill する。
(1) Ruby の擬似シグナル SIGEXIT のハ......いればそれを実
行する(Kernel.#trap を参照)。
(1) d:spec/control#END ブロック(END { ... } または関数
Kernel.#at_exit で指定したブロック)が登録されていれば、
そのブロックを登録とは逆順に実行する。このブロックの実......(1) exit(3) により終了する。このとき渡される終了ステータス値は終了方法によります。例えば、
* スクリプトの終端に達した場合は 0
* Kernel.#exit に渡した引数
* SystemExit による例外以外は 1
関数 Kernel.#exit! に... -
ruby 1
. 6 feature (42.0) -
ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。
...2 回シグナルを送らないと終了しない不具合が修正さ
れました。((<ruby-bugs-ja:PR#223>))
trap(:TERM, "EXIT")
END{
puts "exit"
}
Thread.start { Thread.stop }
sleep
: 2002-04-17: Regexp#inspect
((<ruby-bugs-ja:PR#222>))
p %r{\/}
=>......ameError)
from -:2
ruby 1.6.7 (2002-03-01) [i586-linux]
=> ruby 1.6.7 (2002-03-15) [i586-linux]
: 2002-03-13 ((<getopts>))
refine. ((<ruby-dev:16193>)), ((<ruby-dev:16213>))
: 2002-03-11 正規表現中の 8 進コード
正規表現中の \nnn による 8 進記法......ambiguous first argument; make sure
ruby 1.6.7 (2002-03-15) [i586-linux]
0
: 2002-03-11 trap
((<ruby-bugs-ja:PR#206>))
trap('EXIT','Foo')
=> -:1: [BUG] Segmentation fault
ruby 1.6.7 (2002-03-01) [i586-linux]
=> ruby 1.6.7 (2002-03-15) [i586-linux]
: 2002-03-10... -
IRB
:: Context (12.0) -
irb の設定を扱うためのクラスです。
...記述できる以下の設定値については、IRB::Context
オブジェクトのメソッドとして操作できません。
: IRB.conf[:AT_EXIT]
irb の終了時(サブ irb を含みません)に本項目に設定された Proc オ
ブジェクトを実行します。ブロック引数...