加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby – 如何在gem的示例脚本中使用pry-byebug?

发布时间:2020-12-17 02:54:48 所属栏目:百科 来源:网络整理
导读:我正在努力制作我的第一个宝石,它不是一个Rails应用程序,是一个带有一些AI的井字游戏库,所以我可以扮演一个永远不会失去的计算机对手并在可能的情况下强制取胜. 现在我正在尝试在AI中调试攻击策略,但我似乎无法弄清楚如何在我的测试脚本中使用pry-byebug工作
我正在努力制作我的第一个宝石,它不是一个Rails应用程序,是一个带有一些AI的井字游戏库,所以我可以扮演一个永远不会失去的计算机对手并在可能的情况下强制取胜.

现在我正在尝试在AI中调试攻击策略,但我似乎无法弄清楚如何在我的测试脚本中使用pry-byebug工作,特别是调试命令如step,next等工作点击binding.pry.

名为smart-tac-toe的gem具有以下目录结构:

$ls smart-tac-toe
example  Gemfile  Gemfile.lock  Guardfile  lib  LICENSE.txt  Rakefile  README.md  smart_tac_toe.gemspec  spec  tmp

正如您在上面看到的,我的gem中有一个’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,这个gem的repo位于https://github.com/discotroll65/smart_tac_toe

另外,虽然将binding.pry放入我的示例脚本确实会让我进入调试会话,但最初它处于读取模式,我必须先按q才能退出,然后才能开始执行repl操作.有什么想法可能是这样吗?

解决方法

好的,我更多地意识到这一点(我认为……对游戏来说仍然是一种新的东西)一些事情 –

1.)如果你想要的话

require 'pry'

在你的ruby文件的顶部,并让它一般工作,它将有助于使用您的终端在您的开发环境中安装它:

user@machine/currentdirectory/$gem install pry

同样用pry-byebug:

user@machine/currentdirectory/$gem install pry-byebug

2.)我最初的问题的真正答案是使用

byebug

在我的脚本中作为调试钩子,而不是

binding.pry

(感谢@mtm的建议!)

虽然我确实使用了byebug,但是当步骤和下一步正常工作时,它引发我的REPL没有任何颜色,而且一般不太好……无论如何要解决这个问题?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读