6

IRB を通常の Ruby 開発と統合するためのより良い方法を見つけようとしています。現在、コードで IRB を使用することはほとんどありません。構文を検証するか、何か小さなことを試すためにのみ使用します。

自分のコードを Ruby に

require 'mycode'

しかし、これは通常、私のプログラミング スタイルとは一致しません。調べたい変数がスコープ外またはループ内にある場合があります。スクリプトを起動し、IRB 内の特定の時点でフリーズする簡単な方法はありますか? F5 (コンパイル) キーを壊さずに Ruby コードをデバッグする簡単な方法を探していると思います。

より経験豊富な ruby​​ 開発者が、より効率的な開発方法を教えてくれるかもしれません。

4

5 に答える 5

10

ruby-debug gem をインストールします。もちろん、アプリ内でそれを必要とします (開発/テスト モードでのみ)。これで、実行を停止したい場所に「debugger」を記述できます。

アプリがブレークポイントで停止したら、「help」と入力してすべてのコマンドについて知ることができます。それらの1つは「irb」です。現在のコンテキストのすべてのメソッドにアクセスできる IRB セッションを開始します。

個人的には主に p (印刷)、eval、vi (インスタンス変数)、vl (ローカル変数) を使用します。もちろんnはnext、cはcontinueです。

ただし、特定のブロック/メソッドからステップアウトするコマンドは機能しませんでした。理由を調べたことはありません:-)

于 2008-09-28T00:44:40.853 に答える
2

私はレール内にいる傾向があり、スクリプト/コンソールをたくさん使用する傾向があるため、irb をそれほど頻繁に直接使用する傾向はありませんが、Ruby デバッガー (Ruby Debug gem) を使用するのが好きです。基本的にブレークポイントを設定してから、コードを 1 行ずつステップ実行できます。

これは、私が実際に見ていないスクリーンキャストですが、簡単な検索でそれが表示され、役立つ可能性があります。

http://brian.maybeyoureinsane.net/blog/2007/05/07/ruby-debug-basics-screencast/

于 2008-09-27T17:25:28.977 に答える
1

Eclipse での Ruby 開発の場合: 現在、大幅に改善されたバージョンの RDT (Ruby 開発ツール) が利用可能です。Eclipse に直接インストールするには、[ヘルプ] > [ソフトウェア更新] > [検索とインストール] > [新機能の検索] ラジオ ボタン > [次へ] > [新しいリモート サイト] > [名前 = Ruby および URL = http://update.aptana.com/update/rdt/ ] をクリックします。 3.2/

もう 1 つの Ruby プラグインは、光沢のある新しい Eclipse DLTK (動的言語ツールキット) です。 DLTK 安定版リリース 1.0.M5が数日前にリリースされました。インストールに関する役立つヒントをいくつか紹介します。

于 2009-02-11T00:31:35.637 に答える
0

rdebug を使用して、Ruby または RoR コードをデバッグします。

于 2008-09-27T17:23:12.023 に答える
0

デバッグに IDE を使用する場合は、 ( Ruby 開発ツールを介して) Eclipseが比較的単純なインターフェイスを備えていることを知っています。Rails を使用している場合は、 RadRailsと呼ばれる Eclipse の特定のビルドがあり、これも役立つ可能性があります (ただし、デバッグには使用していません)。

于 2008-09-27T19:50:10.890 に答える