_ 今日のバグ あまりにもあほうなバグのために1~2時間ほど悩む。 最初、次のようなコードを書いていた。 class X def htov(a) #本当はjoinでは済まない程度に複雑 s = "**begin**\n" a.each {|e| s << "#{e}\n" } s << "**end**\n" end end 最初のと最後のマークを定数にしたほうが良いことに気づく(他のオブジェクトも利用するからだ)。 で、直す。 class X BEGIN_MARK = "**begin**\n" END_MARK = "**end**\n" def htov(a) s = BEGIN_MARK a.each {|e| s << "#{e}\n" } s << END_MARK end end で、1回動かして問題ないことを確認したわけだが、あとから動かしていると異常なデータが作られまくる