如何将Interactive Ruby集成到我的开发过程中?
我正在尝试找到一种更好的方法来将IRB与我的常规红宝石开发相集成。目前,我很少在代码中使用IRB。我只用它来验证语法或者尝试一些小的事情。
我知道我可以将自己的代码加载到ruby中
require 'mycode'
但这通常不符合我的编程风格。有时,我要检查的变量超出范围或者在循环内。是否有一种简单的方法可以启动我的脚本并在IRB内的某个位置冻结?我想我正在寻找一种更简便的方法来调试我的Ruby代码,而又不会破坏我的F5(编译)键。
也许更有经验的红宝石开发人员可以与我分享更简化的开发方法。
解决方案
我只是使用rdebug调试我的任何ruby或者RoR代码。
我不经常直接使用irb,因为我倾向于在rails中使用脚本/控制台,所以我不喜欢使用ruby调试器(Ruby Debug gem)。它使我们可以基本设置断点,然后逐行逐步执行代码。
这是我从未真正观看过的截屏视频,但是快速搜索将其拉高,它可能会很有用:
http://brian.maybeyoureinsane.net/blog/2007/05/07/ruby-debug-basics-screencast/
如果我们愿意使用IDE进行调试,那么我知道Eclipse(通过Ruby开发工具)具有一个相对简单的界面。如果我们正在使用Rails,则有一个名为RadRails的特定版本的eclipse也可能会有所帮助(尽管我没有将其用于调试)
安装ruby-debug gem。当然,需要在应用程序中使用它(仅在开发/测试模式下)。现在,我们可以在要停止执行的位置编写" debugger"。
一旦应用程序在断点处停止,我们可以键入" help"以了解所有命令。其中之一是" irb"。它启动一个IRB会话,我们可以在其中访问当前上下文中的所有方法。
我个人主要使用p(打印),eval,vi(实例变量)和vl(本地变量)。当然,n代表下一个,c代表继续。
走出给定块/方法的命令对我来说从来没有用过。我从来没有调查过为什么:-)
对于在Eclipse中进行Ruby开发:现在提供了经过改进的RDT(红宝石开发工具)版本。要直接在Eclipse中安装它,请单击帮助>软件更新>查找并安装>搜索新功能单选按钮>下一步>新远程站点>名称= Ruby和URL = http://update.aptana.com/update/rdt/ 3.2 /
另一个Ruby插件是闪亮的新Eclipse DLTK(动态语言工具包)。
几天前发布了DLTK稳定版本1.0.M5.
以下是一些有用的安装技巧。