我正在使用Ruby2.2.2、Pry和“pry-byebug”。continue语句删除了pry-byebug中的任何监视变量:[1]pry(main)>watchfooWatchingfoowatch:foo=>42[2]pry(main)>watchListingallwatchedexpressions:1:foo=>42[3]pry(main)>continue[1]pry(main)>watchNowatchedexpressions在每次continue时丢失它们会使watched表达式变得毫无值(value)。如果我使用next并转至代码中的同一点,则监视的表达式仍然存在
我正在使用rbenv并安装了2.3.1版本:➜~rbenvversionssystem*2.3.1(setby/Users/s_zhang/.rbenv/version)当我在终端中运行pry时,我得到:➜~pryIgnoringbcrypt-3.1.11becauseitsextensionsarenotbuilt.Try:gempristinebcrypt--version3.1.11Ignoringbcrypt-3.1.10becauseitsextensionsarenotbuilt.Try:gempristinebcrypt--version3.1.10Ignoringbin
有没有办法从irb或prysession中运行测试文件?我尝试了load'./testfile.rb,但是没有运行测试文件中的测试。我的测试文件是这样的:require'test/unit'require'./sudoku.rb'classSudokuTest 最佳答案 测试并不是真的要像那样以交互方式运行,但是如果你查看ruby标准库并查看文件test/unit.rb你会看到它设置了一个at_exit当您需要'test/unit'时的处理程序:at_exitdounless$!||Test::Unit.run?Kernel.e
我在Pry上观看了RubyConf2013演讲,我决定我应该好好尝试一下。我正在处理一些大型阵列。如果Pry能像IRB那样显示返回的数组,那么使用我的代码会更容易。奇怪的是,如果显示数组中的字符数很少,pry不会添加换行符,但当显示数组中的字符数超过某个阈值(在我的例子中似乎是26个字符)时,它会添加它们。有人知道如何让Pry停止这样做吗?IRB:main001(0)>a=[]#=>[]main002(0)>(1..100).each{|i|a1..100main003(0)>a=>[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,
我正在使用pry,我想捕获并处理shell命令的输出。例如,如果我运行pry(main)>.ls我想将文件列表放入我可以在Ruby中使用的数组中。我该怎么做? 最佳答案 这是一个很老的问题,但我还是会回答的。从pry命令中获取数据有两种主要方法。第一个是如果命令将keep_retval选项设置为true,而shell命令不会。第二,是使用虚拟管道。在您的示例中,这可以通过以下方式完成:fizz=[].ls|{|listing|fizz=listing.split("\n")}#canalsobewrittenas.lsdo|list
我在我的Cucumber特性中添加了一个Around钩子(Hook),我希望它能在抛出异常时启动pry-rescue:Arounddo|scenario,block|Pry::rescuedoblock.callendend肯定会调用Around钩子(Hook),但不会挽救步骤中抛出的异常。例如。这一步:When(/^Iperformtheaction$/)doraise'hell'end...导致该功能失败,但不会让我在控制台窥探。Cucumber可以使用pry-rescue吗?我将其作为issue提出同样,我怀疑这可能是一个错误。更新:根据评论中AdamT的建议,我:将@allow
prygem和pry-railsgem有什么区别(在实现方面)? 最佳答案 比较它们的实现没有意义,因为它们是两个不同的东西:一个IRb替代品和一个使前者成为Rails控制台的插件。prygem简单addsaninitializer将Rails控制台更改为Pry和addssomePrycommands特定于Rails。Pry-rails依赖于Pry,没有理由你不能在没有pry-rails的情况下将Pry与Rails一起使用,它只是让事情变得更容易。 关于ruby-on-rails-pry
我无法在Unicorn上使用pry,因为我在一段时间后从提示中退出。这是一个快速概述:在Controller的自定义操作中,我有这个:defassignbinding.pryend到达这条路线没问题,我什至得到熟悉的pry提示,如下所示:8:defassign9:=>10:binding.pry11:end[1]pry(#)>大约一分钟后,我得到了这个,这让我退出了pry提示:[3]pry(#)>E,[2014-08-21T16:29:01.698472#4780]ERROR--:worker=0PID:4852timeout(61s>60s),killingE,[2014-08-21