В Ruby я могу набрать binding.pry
в любом месте моего кода и в этот момент выполнения моя консоль войдет в REPL, где у меня есть доступ ко всем локальным переменным, может вносить изменения и выполнять любой произвольный код.
Пример:
# foo.rb
require 'pry'
n = 5
binding.pry
puts "your number is #{n}"
Когда я запустил его:
$ ruby foo.rb
From: /Users/cgenco/Desktop/foo.rb @ line 4 :
1: # foo.rb
2: require 'pry'
3: n = 5
=> 4: binding.pry
5: puts "your number is #{n}"
[1] pry(main)> n = 100
=> 100
[2] pry(main)> exit
your number is 100
Это невероятный инструмент для отладки, особенно для ситуаций, требующих сложной настройки: я могу просто набрать binding.pry
на месте, где мне нужно больше кода, беспорядок, выяснить, какой код нужно записать, а затем добавить отполированный кода к фактическому исходному коду.
Есть ли такой инструмент, как pry для javascript, который работает в консоли браузера?