问题标签 [pry]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
510 浏览

ruby - 撬开显示 [äöüßÄÖÜß] (utf-8 编码)之类的字符?(可能是特定于 Windows 的问题?)

[我使用这些德语字符的所有脚本本身都是 UTF-8 格式,#encoding: utf-8在顶部(而且Encoding.external_default = 'utf-8',我认为这并不是真正相关的,因为脚本中定义的字符串中的德语字符不会显示对。) ]

所有这些东西在 Windows 命令提示符下和使用 irb 等都可以正常显示。

不过,我什至不能在 pry 提示符下输入这些字符。试图粘贴puts "äöüÄÖÜß"得到puts "。尝试实际键入它们会以某种方式冻结撬动,我必须 ^D 出来。

使用 pry,我在其中运行了一个脚本GC = "äöüÄÖÜß",这就是我得到的那种 garbledeegook:

output.txt然而,最后一行创建的测试文件utf-8 格式,内容如下:

有谁知道如何解决这个问题?

0 投票
1 回答
268 浏览

ruby - Ruby,pry:我可以在命令 `pry example.rb` 中添加一些东西,以便 pry 在完成脚本执行后自动进入交互状态?

如果遇到异常,Pry 会进入交互模式(例如,如果您只是在脚本末尾放置了一个未定义的变量“x”)。

(另外,如果您在脚本本身内部require 'pry'放置binding.pry了您想要进行交互的点。)

但我想知道:当我在命令提示符下输入命令时,是否有某种标志/选项/参数可以添加到pry example.rb命令中,所以当它到达执行任何 example.rb脚本的末尾时它会进行交互,不管里面是什么?(当然,假设在结束之前没有例外。)

(这显然对于与可以运行 Notepad++ 等外部程序的编辑器一起使用特别有用,请参见thisthis。)

0 投票
6 回答
6040 浏览

php - php 是否存在“pry”等价物?

我对 ruby​​ 有点宠爱,并且习惯于使用令人惊叹pry的应用程序工具。我将一个应用程序锁定到 1 个线程,然后让 pry 在 httpd 控制台中弹出打开,然后能够找到很多问题的根源,但是我在 PHP 中找不到类似的东西。是否有类似或被接受的解决方案可以在 PHP 执行期间用于调试和跟踪数据结构等?

0 投票
7 回答
7597 浏览

ruby-on-rails - 如果 rspec 测试失败,则启动 ruby​​ 调试器

通常,当测试失败时,我会花很长时间试图找出导致它失败的原因。如果 RSpec 可以在测试失败时启动 Ruby 调试器会很有用,这样我就可以立即检查局部变量以深入了解原因。

我现在使用的解决方法如下所示:

但是,这种方法很麻烦,因为我首先等待测试失败,然后添加调试器行,修复问题,然后必须删除调试器行,而我希望它更像gdb能够在何时启动一个异常被击中,而不需要在你的代码库中添加debugger语句。

编辑:我试过普利茅斯。它对我来说还不够可靠。此外,开发历史似乎表明它不是一个得到很好支持的 gem,所以我宁愿不依赖它。

更新:我试过了pry-rescue,发现它很整洁。但是,我经常使用zeus,想知道是否有办法让它与pry-rescue.

0 投票
2 回答
50 浏览

ruby - 使用 pry 发送对象?

我正在尝试将对象(用户)发送到 NotificationsMailer,如下所示:

但我得到了这个错误:

NotificationsMailer.welcome_facebook_user:

我的模板:

在现实世界:

用户.rb

但是,我想用 pry 测试它,如何发送这样的用户对象?为什么我的尝试失败了?

0 投票
1 回答
419 浏览

ruby-on-rails - 使用 Fabricator & let(...) 格式的 Rspec 模型测试。控制台在数据库中没有显示数据,但有。

我不明白为什么在它没有通过测试后第一次在控制台中输入“Video.all”时它返回空,但是如果我将它们指定为“video”和“video2”,然后我输入“Video.all”。全部”它正确返回 2 个视频。有谁知道为什么这不起作用?

应用程序/模型/video.rb

我的模型测试:

规格/模型/video_spec.rb

撬动的结果

0 投票
2 回答
5617 浏览

ruby - 是否有适用于 ruby​​ 2.0 的 pry 调试设置?

我在 OSX 上使用 ruby​​ 2.0.0-p195。pry-debugger 不起作用(step/continue/next 似乎都可以正常工作continue)。是否有适用于 ruby​​ 2.0 的 pry 调试 gem?

更新:pry-debugger两者pry-byebug似乎都可以在一个简单的项目中使用 ruby​​ 2.0.0-p195。在测试中使用时,我还有一些其他冲突导致两者都失败binding.pry......

更新:pry-byebug正在为我使用最新的 ruby​​ 2.0 版本 2.0.0-p247,带有 pry-byebug 1.1.1 和 byebug 1.5.0

0 投票
2 回答
1657 浏览

ruby - before_session 挂钩失败:Pry::CommandError:找不到此方法:加载

在 Ruby 脚本中加载 Pry REPL 我得到了这个奇怪的错误:

知道问题是什么吗?

注意: 1. 除了那个神秘的消息之外,代码似乎执行得很好; 2. 我找不到“ _pry_.hooks.errors”文件

0 投票
5 回答
2219 浏览

ruby-on-rails - 在 Vim 中使用 Pry 的 vim-ruby-debugger 样式断点

现在,当我想要在 vim 或 Sublime Text 中设置断点时,我在代码中添加如下一行:

Pry(及其相关插件)提供了一个很好的环境,可以在其中从命令行进行交互式 Ruby 调试。

但是,将实际代码添加到我的项目以创建每个断点(并记住在提交时删除此类代码)可能很麻烦。

我喜欢vim-ruby-debugger在不实际修改我的项目源代码的情况下将可视断点放入编辑器中所做的事情,但是我在使其在我的规范上下文中起作用时遇到了一些麻烦(我真的更喜欢首先使用 Pry 'breakpoints')。

所以问题是,是否可以将binding.pry 引用放入文件中,以便像 Vim(或 Sublime Text 等)这样的编辑器会在调试时将其拾取并适当响应,而该行实际上不包含在源代码中?

0 投票
1 回答
110 浏览

ruby-2.0 - Ruby - 从块内更新实例变量

如何从块内更新实例变量?

例如