この質問は、あまりにも面白くなかったか、あまりにもわかりにくかったので、言い直します。:)
元の質問は、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 のような言語では、慣用的なスタイルは高レベルのワンライナー コーディングを好むようです。
quiz.to_s.reverse.scan(/(?:\d*\.)?\d{1,3}-?/).join(',').reverse
たとえば、正規表現を変更した場合など、これをデバッグするための効果的な手法を提案できるかどうか疑問に思っています...従来のデバッガーを引き続き使用し、チェーンされたメソッドにステップイン/オーバーしますか? それとももっと良い方法がありますか?
ありがとう!