我正在改寫這個問題,因爲它太無趣或太不可理解。 :)調試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