当我在Rails中使用Byebug设置断点时,有时我希望它完成执行,但github上的指南说使用exit也会退出Pry。如果断点在循环中,重复输入continue会很烦人。有没有办法在不退出Rails控制台的情况下停止byebug? 最佳答案 在Rails控制台或Rails服务器中运行byebug时,我通常只通过按Ctrl+D退出byebug。这种方法的问题是,如果您在Rails的服务器中执行此操作,那么Byebug将不会停止并在下次它在代码中的任何地方遇到byebug语句时进行调试。但它在Rails控制台中完美运行。
我最近一直在命令行中使用erb。我想制作一个非常简单的erb模板,例如以下内容:Hello.Mynameis.Ihopeyourdayis.如果我运行这有效erb-T-thatfile.erb我想做的是制作name和quality可以从命令行参数传递,这样我就可以做类似的事情:./thatfile.erb"Bill""super"在bash提示符下做同样的事情。我知道我可以编写一个ruby脚本来读取该模板,然后使用ERB.new(File.read("thatfile.erb")).result(binding),或者在END之后编写模板并且这样做,但我正在寻找一种更轻量级的方法(
我正在尝试调试多线程ruby脚本,问题是我什么时候做binding.pry其他线程继续向控制台发送输出。如何让它们在binding.pry处停止,然后在我退出时重新启动?我想在.pryrc中有一种方法可以做到这一点 最佳答案 这听起来像是您提议使用binding.pry的调用来询问所有子线程并暂停它们,直到您结束prysession。由于技术和实际原因,这是不可能的。Binding和Thread类不是这样工作的,Ruby中的多线程也不是那样工作的。Ruby中的线程只能通过调用Kernel#sleep或Thread.stop来暂停
我在OSX上使用ruby2.0.0-p195。pry-debugger不工作(step/continue/next都像continue一样工作)。是否有适用于ruby2.0的调试gem?更新:pry-debugger和pry-byebug似乎都可以在一个简单的项目中使用ruby2.0.0-p195。在测试中使用binding.pry时,我有一些其他冲突导致两者都失败...更新:pry-byebug正在为我使用最新的ruby2.0版本2.0.0-p247,以及pry-byebug1.1.1和byebug1.5.0 最佳答案
我有这个代码:l=lambda{a}defsome_functiona=1end我只想通过lambda访问a和一个已经定义了a的特殊范围,例如示例中的some_function内部,或者不久之后在与以下相同的范围内:l=lambda{a}a=1l.call然后我发现在调用l时,它仍然使用它自己的绑定(bind),而不是调用它的新绑定(bind)。然后我尝试将其用作:l.instance_evaldoa=1callend但这也失败了,很奇怪我无法解释原因。我知道其中一个解决方案是使用eval,我可以在其中特殊绑定(bind)并在文本中执行一些代码,但我真的不想这样使用。而且,我知道它能够
我把binding.pry放在我的脚本中,但是现在当它停在断点处时,是向我显示该信息。出乎我的意料,如何解决?帧数:0/11From:/Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/pry-nav-0.2.4/lib/pry-nav/tracer.rb@line21PryNav::Tracer#run:12:defrun(&block)13:#Forperformance,disableanytracerswhileintheconsole.14:#Unfortunatelydoesn'tworkin1.9.2becau
我是Ruby的新手,到目前为止,弄清楚如何使用"binding"objects是我最大的痛点之一。如果我没有正确阅读文档,它们几乎是完全不透明的。要访问绑定(bind)对象内的范围,您必须有一串Ruby代码和eval它使用绑定(bind)。也许我只是来自不同学校的纯粹主义者,但一般来说,我对基于字符串的“eval”结构过敏。在一般情况下,给定一个绑定(bind)对象,有什么方法可以安全地执行以下任何操作:在绑定(bind)表示的上下文中列出范围内的标识符,或检索内容的哈希值。将绑定(bind)中局部变量的值设置为等于外部上下文中某个局部变量的值。理想情况下,这应该可以正常工作,即使值是
我花了一些时间学习Ruby,我想转向一些GUI编程。GNOME3是目前最吸引我的环境,所以我想看看GTK+3。然而,GTK+3documentation’sGettingStartedexamples在C中非常令人反感。是否有不那么可怕的Ruby绑定(bind)(和HelloWorld示例)可用?编辑:GTK+LanguageBindingsoverview没有留下太多希望。 最佳答案 在freenode上的#ruby上快速聊天后,我了解到有针对GTK+3的绑定(bind)正在积极开发中:https://github.com/m
我们最近从Rails4.1升级到Rails4.2,发现使用Arel+Activerecord时出现问题,因为我们遇到了这种类型的错误:ActiveRecord::StatementInvalid:PG::ProtocolViolation:ERROR:bindmessagesupplies0parameters,butpreparedstatement""requires8这是破坏的代码:customers=Customer.arel_tablene_subquery=ImportLog.where(importable_type:Customer.to_s,importable_id
为什么我会收到此pry动错误?[36]pry(main)>s="pry"Error:Cannotfindlocalcontext.Didyouuse`binding.pry`?在此截屏视频中运行良好http://pryrepl.org/ 最佳答案 似乎s、c和n是pry-navgem上的保留命令,发现here,这可以帮助您逐步完成绑定(bind)。Pry.commands.alias_command'c','continue'Pry.commands.alias_command's','step'Pry.commands.alias