Возможно ли отладить динамически определенный метод в Ruby?Если да, то как мне этого добиться?
Итак, я открыл новый сеанс Pry и сначала попробовал его так:
require "byebug"
def hello(x)
byebug
x += 1
puts x
end
hello(5)
Он выкрикнул мне «*** Нет исходного файла»за (подглядывать) ".Мне все еще удавалось пройти по коду, но я не мог видеть источник.
Тогда я попытался сделать это так:
def hello(x)
binding.pry
x += 1
puts x
end
hello(5)
А теперь все наоборот:Я могу видеть исходный код, но не могу пошагово пройти по коду (когда я набираю «шаг», он выкрикивает мне «NameError: неопределенная локальная переменная или метод« step »для main: Object»).Похоже, у Pry действительно есть необходимый источник, но, к сожалению, отладчик не работает: (
Мне удалось сделать это в Python repl с использованием IPython (хотя он не работал в стандартном Python repl):
def hello(x):
breakpoint()
x += 1
print(x)
hello(5)
Я бы хотел добиться того же в Ruby