我正在改写这个问题,因为它太无趣或太不可理解。 :)调试Ruby/Python/Groovy
最初的问题出现了,因为我正在从Java转换到Groovy,但是当转换到任何更高级别的语言(Ruby,Python,Groovy)时,该示例可以同样适用。
Java很容易调试,因为代码行之间存在明确的关系,并且具有相当细致的行为,例如,使用for循环操作数组:
for (int i=0; i < array1.size(); i++)
{
if (meetsSomeCriterion(array1.elementAt(i))
{
array2.add(array1.elementAt(i));
}
}
因此您可以在循环中设置测试断点并查看接下来会发生什么。 (我知道有更好的方法来写这个,这只是为了说明这一点)。
在像Ruby这样的语言中,惯用风格似乎有利于更高级的单行编码,从http://rubyquiz.com/quiz113.html
quiz.to_s.reverse.scan(/(?:\d*\.)?\d{1,3}-?/).join(',').reverse
我想知道如果你能提出任何有效的技术来调试这一点,例如,如果你改变了正则表达式...你会仍然使用传统的调试器,步入/在链接方法?或者,还有更好的方法?
谢谢!
谢谢Bryan,RHSeeger和Geo帮我清理这些。因为你们都同意我让Bryan's成为公认的答案,因为这首先出现(按时间顺序?)。 – 2009-09-15 10:38:58