给定以下代码:require'pry-byebug'10.times.with_indexdo|i|binding.pryputsiend我想在pry-byebug中“循环直到i==5然后中断”。通过运行它helpbreak,您似乎可以通过“breakpoint#”或“line#”来识别断点。看起来你也可以使用条件,但我没有让它工作:尝试在第#行设置断点:$rubyfoo.rbFrom:/Users/max/Dropbox/work/tmp/pry_debug/foo.rb@line5:1:require'pry-byebug'2:3:10.times.with_indexdo|i|4
我使用DebianLinux在RaspberryPi上安装了rvm和Ruby1.9.3p194。当我使用geminstallpry安装pry时,一切都完美安装,但在终端中输入pry不起作用:pi@raspberrypi~$prybash:pry:commandnotfound~/.rvm/gems/ruby-1.9.3-p194/bin中有一个pry文件。我必须在同一目录中使用ruby_noexec_wrapper调用它:pi@raspberrypi~$.rvm/gems/ruby-1.9.3-p194/bin/pry/usr/bin/env:ruby_noexec_wrapper
我一直非常喜欢使用Pry开发Ruby应用程序.我还看到一个名为pry-remote的Pry插件它允许您设置Drb服务器以远程访问Prysession。README中的pry-remote概要是有道理的,我在本地运行没有问题。但是,我如何使用它来允许同事在他/她的终端中访问同一个Prysession?如果可能的话,我想要的API应该类似于localtunnel:在计算机1上:$rubymain.rb[pry-remote]Waitingforclientondruby://127.0.0.1:9876$drblocaltunnel9876sharethisurl:http://xyz.d
我正在使用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