2011-07-05 14 views
1

のトップレベルの名前空間を取得します?:私はRubyでこれを行うことができますどのようにRubyの

は時々インタープリタ言語での診断のために、それはトップにオブジェクトを投げ、私は私のコードへの迅速な変更をするために高速ですインタラクティブな環境でそれを混乱させます。 Pythonで

、私は私のコードにこれを追加します。

import __main__ 
__main__.[field] = [my problematic object] 

...その後、コマンドpython -i [myfilename]でファイルを実行します。どのように私はRubyのトップレベルの名前空間にアクセスできますか?

答えて

3

これにはPryを使用することをおすすめします。

gem install pryをインストールしてください。次に、対話セッションを開始する場所に次のコードを追加します。

require 'pry' 
binding.pry 

インタラクティブセッションの例。

$ cat debug.rb 
a = 7 
b = 6 
product = a * b 
require 'pry' 
binding.pry 
puts "The answer is: #{product}" 

$ ruby debug.rb 

From: debug.rb @ line 5 in Object#N/A: 

    1: a = 7 
    2: b = 6 
    3: product = a * b 
    4: require 'pry' 
=> 5: binding.pry 
    6: puts "The answer is: #{product}" 
pry(main)> product 
=> 42 
pry(main)> product = -1 * a * b 
=> -42 
pry(main)> exit 
The answer is: -42 
+0

デバッグ用の宝石がありますか? (現時点でそれを試してみる時間がありません)私はとても知らないのは残念ですが、私はRubyの '$ '表記に慣れていません。それはあなたが簡単に説明できるものですか? – JellicleCat

+0

PryはIRBの代替品に過ぎず、さらに多くの機能があります。あなたは「$」を話していますか? '$ cat debug.rb'?それがシェルです。 – Dogbert

関連する問題