ruby - 如何将 Interactive Ruby 整合到我的开发过程中?

标签 ruby debugging irb

我正在尝试找到一种更好的方法将 IRB 与我的常规 ruby​​ 开发集成。目前我很少在我的代码中使用 IRB。我只用它来验证语法或尝试一些小的东西。

我知道我可以将我自己的代码加载到 ruby​​ 中作为一个

require 'mycode'

但这通常不符合我的编程风格。有时我要检查的变量超出范围或在循环内。有没有一种简单的方法可以启动我的脚本并在 IRB 内的某个点卡住?我想我正在寻找一种更简单的方法来调试我的 ruby​​ 代码而不破坏我的 F5(编译)键。

也许有经验的ruby开发者可以和我分享一个更精简的开发方法。

最佳答案

安装 ruby​​-debug gem。当然,在您的应用程序中需要它(仅在开发/测试模式下)。现在您可以在要停止执行的地方编写“调试器”。

一旦您的应用在您的断点处停止,您可以键入“帮助”以了解所有命令。其中之一是“irb”。它启动一个 IRB session ,您可以在其中访问当前上下文中的所有方法。

我个人主要使用 p(打印)、eval、vi(实例变量)和 v l(本地变量)。当然,n 代表下一个,c 代表继续。

但跳出给定 block /方法的命令对我来说从来没有用过。我从来没有调查过为什么:-)

关于ruby - 如何将 Interactive Ruby 整合到我的开发过程中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/144046/

相关文章:

ruby-on-rails - Rails 助手中的动态方法调用

ruby - 如何优雅地检查 RSpec 中记录的存在

ruby-on-rails - 提交 schema.rb 的正确方法

ios - 如何在 iOS 中调试 "second run"?

ruby - irb 中的所有命令都给出 "NoMethodError: undefined method ` write' for nil :NilClass"

ruby - 从 byebug 调用的 IRB 丢失上下文

ruby-on-rails - 我正在使用 Carrierwave 上传 XML 文件。 XML 已上传,看起来正常但未被读取

c++ - 理解 UMDH 比较输出

windows - 为什么当我运行 ruby​​.exe/IRB 时,我得到的只是一个空白的 DOS shell?

multithreading - 有没有办法让 visual studio 中的多线程调试像 eclipse 一样工作?