1

Rubyでこれを行うにはどうすればよいですか?:

インタープリター言語での診断の場合、コードをすばやく変更し、オブジェクトを最上位の名前空間に入れて、インタラクティブな環境でそれをいじる方が速い場合があります。

Pythonでは、これをコードに追加します。

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

...次に、コマンドを使用してファイルを実行しますpython -i [myfilename]。Rubyのトップレベルの名前空間にアクセスする方法はありますか?

4

1 に答える 1

3

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

実行gem install pryして 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
于 2011-07-05T21:45:28.160 に答える