Я работаю над созданием своего первого драгоценного камня, который не является приложением Rails, а является библиотекой для игры в крестики-нолики с некоторым количеством ИИ, поэтому я могу играть с компьютерным противником, который никогда не проиграет и форсирует победу, если это возможно.
Прямо сейчас я пытаюсь отладить стратегию атаки в ИИ, но я не могу понять, как заставить pry-byebug работать в моем тестовом сценарии, в частности, чтобы команды отладки, такие как step
, next
и т. д., работали над попадание в binding.pry
.
Драгоценный камень с именем smart-tac-toe имеет следующую структуру каталогов:
$ ls smart-tac-toe
example Gemfile Gemfile.lock Guardfile lib LICENSE.txt Rakefile README.md smart_tac_toe.gemspec spec tmp
Как вы можете видеть выше, в моем геме есть каталог «example», который содержит «example.rb», где я использую созданные мной классы.
Однако, когда я использую binding.pry
и пытаюсь использовать step
и next
, сеанс Pry просто завершается, а скрипт продолжает работать.
В моем файле smart_tac_toe.gemspec явно присутствует pry-byebug:
spec.add_development_dependency "pry-byebug", '~>2.0.0'
и в верхней части моего файла example.rb я попытался потребовать правильные драгоценные камни:
require 'pry'
require 'pry-byebug'
require "../lib/smart_tac_toe.rb"
Я использую Ruby 2.1.1p76, репозиторий этого драгоценного камня находится по адресу https://github.com/discotroll65/smart_tac_toe
Кроме того, несмотря на то, что добавление binding.pry в мой пример сценария приводит к сеансу отладки, изначально он находится в режиме чтения, и мне нужно нажать q, чтобы выйти из него, прежде чем я смогу начать делать repl-вещи. . Любые мысли о том, почему это может быть?
byebug
вместоbinding.pry
? - person Matt   schedule 09.12.2014