Получить пространство имен верхнего уровня в Ruby - PullRequest
1 голос
/ 06 июля 2011

Как я могу сделать это в Ruby?:

Иногда для диагностики на интерпретируемом языке мне быстрее сделать быстрое изменение своего кода, бросить объект в пространство имен верхнего уровня, а затем связываться с ним там в интерактивной среде.

В Python я добавляю это к своему коду:

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

... затем запустите файл командой python -i [myfilename]. Любая идея, как я могу получить доступ к пространству имен верхнего уровня в Ruby?

1 Ответ

3 голосов
/ 06 июля 2011

Я бы рекомендовал использовать для этого Прай .

Запустите 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...