草庐IT

ruby-on-rails - 从 Ruby 文件访问 Pry 的 show-source 方法

是否可以从Ruby文件中访问Pry的show-source方法?如果是这样,这是如何完成的?例如,如果我有这个文件:#testing.rbrequire'pry'deftestingputs'hi'endputsshow-sourcetesting然后运行​​rubytesting.rb,我想要输出:Owner:testing.rbVisibility:publicNumberoflines:3deftestingputs'hi'end为了解释这样做的基本原理,我有一个测试stub方法,尽管原始方法似乎偶尔会被调用,我认为输出调用源以查看它的来源会很方便。我知道有更简单的方法可以做到这

ruby-on-rails - 当你只传递一个对象时 pry 使用什么函数或方法?

我已经加载了pry并且正在调试一些对象。很多时候,如果我只输入对象的名称,pry就会自行输出它的表示形式,而且看起来很棒。示例:例如,这就像在pry提示符下做类似的事情:[1]pry(main):1>@myobj结果:困惑:我没有调用pp@myobj或y@myobj或ap@myobj或@myobj.inspect如果我确实调用其中任何一个,我得到的输出看起来会有所不同(并且格式不那么漂亮)问题:调用什么方法以这种方式输出对象?我可以在脚本文件中使用该方法来使用同样漂亮的格式输出格式吗?(即执行pry然后运行​​load/path/to/my/file.rb?)

ruby - 如何使用 Pry 测试类似过滤器的 Ruby 脚本?

我有一个简单的脚本来处理来自STDIN的行。有时会出现异常-一些UTF-8转换错误-我想检查变量,是什么导致了错误。我在我的文件中使用了以下语法(让我们调用filter.rb),但我从未收到Pry提示:#!/usr/bin/rubyrequire"pry"n=0whileline=STDIN.getsdobeginn=n+1raise"anexception"ifn==2rescue=>ebinding.pryendend当我发布时:catdata.txt|rubyfilter.rb我在屏幕上看到:5:whileline=STDIN.getsdo6:begin7:n=n+18:rais

ruby - 你如何安装 pry 插件?

我读过这些很棒的pry插件(例如pry-debugger、pry-stack_explorer),但是经过将近30分钟的搜索,我找不到任何关于如何安装它们的文档.我去了他们的githubsite,prywiki并阅读/观看了几个教程,但其中没有关于安装的内容。 最佳答案 每个以pry-开头的pry插件都是自动加载的。您只需要geminstallpry-name。Here是关于插件的链接(也创建插件)和确切的引用:AvalidPrypluginisagemthathasthepry-prefix(suchasthepry-docgem

ruby-on-rails - 无法在 pry 中访问本地方法变量

我有以下方法:defupdateloan=Loan.find(params[:id])pryrespond_withloan.update(loan_params)end所以我希望当我在控制台中窥探时,我应该能够键入loan并获取对象,但我却得到“未定义的局部变量或方法‘loan’”,我是不是做错了什么? 最佳答案 您需要使用binding.pry来加载当前对象范围内的pry(我认为pry只是加载一个没有范围的prysession。) 关于ruby-on-rails-无法在pry中访问本

ruby - 如何在 Pry 中更改 ruby​​ 版本

由于RVM,我的命令行ruby​​是1.9.2,但是当我启动pry(指向1.9.2gem)时,它使用ruby​​1.8.7你知道pry指定的ruby​​版本在哪里吗?macflashy:~$rvminforuby:interpreter:"ruby"version:"1.9.2p290"date:"2011-07-09"platform:"x86_64-darwin11.1.0"patchlevel:"2011-07-09revision32553"full_version:"ruby1.9.2p290(2011-07-09revision32553)[x86_64-darwin11.

ruby-on-rails - 使用 Rails 控制台时 pry-stack_explorer 中的 NoMethodError

我正在为railsconsole使用pry。每当我在控制台中评估某些值时,NoMethodError会在bindings_equal?中引发,这是pry-stack_explorergem的一个方法。输入输出如下。这不是有害的,而是令人讨厌的。我想删除它。有人能帮忙吗?>bundleexecrailsconsoleLoadingdevelopmentenvironment(Rails4.1.5)Framenumber:0/21[1]pry(main)>[2]pry(main)>[3]pry(main)>1when_startedhookfailed:NoMethodError:priv

ruby - 如何在 Pry 中自定义 Ruby 命令的返回输出

我能够使用~/.pryrc中的Pry.config.prompt设置自定义Pry的提示,以便让Pry对children来说更简单。现在我想去掉返回输出:EnterRubycode>puts'hello'hello=>nilEnterRubycode>=>nil会让刚学编程的child感到困惑。我可以在Pry中抑制返回值输出吗? 最佳答案 有几种方法可以做到这一点。将;添加到每行的末尾,或者将默认的Pry.config.print替换为您自己的proc。例如,添加类似Pry.config.print=Proc.new{|output,

ruby - 如何在 pry 中运行带参数的文件

我可以像这样启动命令行应用程序的窥探sessionpry-r./todo.rb但是,如果我想调用列表函数pry-r./todo.rblist我收到一条错误消息。不用pry,我调用列表函数rubytodo.rblist这是错误信息/Users/michaeljohnmitchell/.rvm/gems/ruby-1.9.2-p290@global/gems/pry-0.9.10/lib/pry/repl_file_loader.rb:16:in`initialize':Nosuchfile:/Users/michaeljohnmitchell/Sites/todo/bin/list(Ru

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

我正在努力制作我的第一个gem,它不是Rails应用程序,是一个带有一些AI的井字游戏库,所以我可以和一个永远不会输的电脑对手比赛,如果可能。现在我正在尝试调试AI中的攻击策略,但我似乎无法弄清楚如何让pry-byebug在我的测试脚本中工作,具体来说,有像step、next等在点击binding.pry时工作。名为smart-tac-toe的gem具有以下目录结构:$lssmart-tac-toeexampleGemfileGemfile.lockGuardfilelibLICENSE.txtRakefileREADME.mdsmart_tac_toe.gemspecspectmp正