別のキーワード
ライブラリ
- ビルトイン (33)
モジュール
- Kernel (22)
キーワード
-
$ -d (11) -
$ DEBUG (11) -
NEWS for Ruby 2
. 3 . 0 (9) -
NEWS for Ruby 3
. 0 . 0 (4) - Rubyの起動 (3)
- Thread (11)
- logger (11)
- thread (2)
- スレッド (11)
- 制御構造 (11)
検索結果
-
debug (38018.0)
-
Ruby デバッガです。Ruby スクリプトのソースコードデバッグに使用します。
...したインタフェース rubydb3x.el が
https://github.com/ruby/elisp にあるので、活用してください。
=== 使い方
$ ruby -rdebug foo.rb
または、Emacs から
M-x load-library rubydb3x.el
M-x rubydb
=== デバッグコマンド
以下は、デバッガで使用......b です。
: catch <an Exception>
例外が発生した時にデバッガを停止させるキャッチポイントを設定します。
引数を省略した場合設定したキャッチポイントを表示します。
発生した例外が <an Exception> のサブクラスであ......ば
デバッガが停止します。デフォルトのキャッチポイントは
StandardErrorに設定されています。
<an Exception>として off を指定すると
例外発生時に停止しなくなります。
このコマンドの省略形は cat です。
: watc... -
Kernel
$ $ DEBUG -> bool (3113.0) -
この値が真のときはインタプリタがデバッグモードになります。
...した時に
インタプリタ全体が中断されるようになります。
Thread.abort_on_exception を
true にセットするのと同じ効果です。
* Thread.abort_on_exception= の効果がなくなります。
* 例外を捕捉しているかどうかに関係なく、... -
logger (66.0)
-
ログを記録するためのライブラリです。
...ムをクラッシュさせるような制御不可能なエラー
: ERROR
制御可能なエラー
: WARN
警告
: INFO
一般的な情報
: DEBUG
低レベルの情報
全てのメッセージは必ずログレベルを持ちます。また Logger オブジェクトも同じように
ロ......た時には、
Logger オブジェクトのログレベルを DEBUG に下げるなどという使い方をします。
==== 例
//emlist[][ruby]{
require 'logger'
logger = Logger.new(STDOUT)
logger.level = Logger::WARN
logger.debug("Created logger")
logger.info("Program started")
logger.warn("N......unless line =~ /^(\w+) = (.*)$/
logger.error("Line in wrong format: #{line.chomp}")
end
end
rescue => err
logger.fatal("Caught exception; exiting")
logger.fatal(err)
end
//}
上の例ではログにはWARN、ERROR、FATALのみが記録されます。
例外オブジェクト... -
Thread (36.0)
-
スレッドを表すクラスです。スレッドとはメモリ空間を共有して同時に実行される制御の流れです。 Thread を使うことで並行プログラミングが可能になります。
...スレッドの実行も終
了します。ブロックの終了は正常な終了も例外などによる異常終了も含みます。
===[a:exception] 例外発生時のスレッドの振る舞い
あるスレッドで例外が発生し、そのスレッド内で rescue で捕捉されなかっ......Thread.new do
Thread.pass # メインスレッドが確実にjoinするように
raise "unhandled exception"
end
t.join
rescue
p $! # => "unhandled exception"
end
また、以下の 3 つの方法により、いずれかのスレッドが例外によって終
了し......$DEBUG を真に設定する(デバッグモード)
ruby インタプリタを -d オプション 付きで起動した場合も同様。
(オプションの詳細に関してはspec/rubycmd を参照)
* Thread.abort_on_exception でフラグを設定する。
* Thread#abort_on_exception... -
スレッド (36.0)
-
スレッド スレッドとはメモリ空間を共有して同時に実行される制御の流れです。 Ruby ではスレッドはThread クラスのインスタンスとして表されます。
...スレッドの実行も終
了します。ブロックの終了は正常な終了も例外などによる異常終了も含みます。
===[a:exception] 例外発生時のスレッドの振る舞い
あるスレッドで例外が発生し、そのスレッド内で rescue で捕捉されなかっ......Thread.new do
Thread.pass # メインスレッドが確実にjoinするように
raise "unhandled exception"
end
t.join
rescue
p $! # => "unhandled exception"
end
また、以下の 3 つの方法により、いずれかのスレッドが例外によって終
了し......$DEBUG を真に設定する(デバッグモード)
ruby インタプリタを -d オプション 付きで起動した場合も同様。
(オプションの詳細に関してはspec/rubycmd を参照)
* Thread.abort_on_exception でフラグを設定する。
* Thread#abort_on_exception... -
NEWS for Ruby 2
. 3 . 0 (30.0) -
NEWS for Ruby 2.3.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...g-literal というコマンドラインオプションも導入されました
8976
* コマンドラインオプションに --debug または --debug=frozen-string-literal を付けて実行すると、
freeze された文字列を操作しようとして RuntimeError が発生し......追加されました
9098
=== 組み込みクラスの更新
* ARGF
* ARGF.read_nonblock は IO#read_nonblock と同じように `exception: false' オプションをサポートします
11358
* Array
* Array#bsearch_index を追加
10730
* Array#dig を追加......internal_super_of を追加。
* OpenSSL
* OpenSSL::SSL::SSLSocket#accept_nonblock と
OpenSSL::SSL::SSLSocket#connect_nonblock は `exception: false` オプションをサポートするようになりました。
10532
* Pathname
* Pathname#descend と Pathname#ascend は... -
Rubyの起動 (24.0)
-
Rubyの起動 * cmd_option * shebang
...ise
def f5 = f6
def f4 = f5
def f3 = f4
def f2 = f3
def f1 = f2
f1
//}
//emlist{
% ruby --backtrace-limit=3 test.rb
test.rb:1:in `f6': unhandled exception
from test.rb:2:in `f5'
from test.rb:3:in `f4'
from test.rb:4:in `f3'
... 3 levels...
//}
: -C directory
スクリプト実行前に......ーが無ければ, "Syntax OK"と出力します。
: --copyright
著作権表示をします。
: -d
: --debug
デバッグモードでスクリプトを実行します。$DEBUG を
true にします。
: -E ex[:in]
: --encoding ex[:in]
デフォルトの外部エンコーディン......。
ディレクトリ名を指定すると、スクリプト実行前に指定されたディ
レクトリに移動します。
: -y
: --yydebug
コンパイラデバッグモード。スクリプトを内部表現にコンパイルす
る時の構文解析の過程を表示します。... -
制御構造 (24.0)
-
制御構造 条件分岐: * if * unless * case 繰り返し: * while * until * for * break * next * redo * retry 例外処理: * raise * begin その他: * return * BEGIN * END
...に
//emlist[][ruby]{
$_ =~ リテラル
//}
であるかのように評価されます。
==== if 修飾子
//emlist[例][ruby]{
print "debug\n" if $DEBUG
//}
文法:
式 if 式
右辺の条件が成立する時に、左辺の式を評価してその結果を返します。
条件......る処理が成功するまで処理を繰り返すようなループを作
ることができます。
//emlist[][ruby]{
begin
do_something # exception raised
rescue
# handles error
retry # restart from beginning
end
//}
rescue 節以外で retry が用いられた場合には例外 Syntax......e SyntaxError.new("invalid syntax")
raise # 最後の例外の再発生
//}
文法:
raise
raise messageまたはexception
raise error_type, message
raise error_type, message, traceback
例外を発生させます。第一の形式では直前の... -
Kernel
$ $ -d -> bool (13.0) -
この値が真のときはインタプリタがデバッグモードになります。
...した時に
インタプリタ全体が中断されるようになります。
Thread.abort_on_exception を
true にセットするのと同じ効果です。
* Thread.abort_on_exception= の効果がなくなります。
* 例外を捕捉しているかどうかに関係なく、... -
NEWS for Ruby 3
. 0 . 0 (12.0) -
NEWS for Ruby 3.0.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...ault gems
* The following libraries are promoted to default gems from stdlib.
* English
* abbrev
* base64
* drb
* debug
* erb
* find
* net-ftp
* net-http
* net-imap
* net-protocol
* open-uri
* optparse
* pp......y2_keywords` will no longer keep empty keyword splats, those are now removed just as they are for methods not using `ruby2_keywords`.
* When an exception is caught in the default handler, the error message and backtrace are printed in order from the innermost. 8661
* Accessing an uninitialized i... -
thread (12.0)
-
スレッド間キューや状態変数 (condition variable) を提供するライブラリです。
...間キューや状態変数 (condition variable) を提供するライブラリです。
このライブラリは Thread を拡張します。rubyインタプリタを
デバッグオプション付き($DEBUGを真)で実行したときには、
Thread.abort_on_exception を true にします。...