01 October 2013
RubyのStringにもInfinityを!- 反省回 -
Float::INFINITYのような無限文字列を表現するString::INFINITYなるものがほしいとの想いから、前回次のような記事を書いたのです。
時を同じくして@ne_sachirou殿も別の解法を用意していました。
読み比べて頂ければ明白ですが、ここには「人間の素直さの差」というものが如実に現れているんですね(力の差は置いておいてね)。
自分の解法は('b'..'a')というのはbad value rangeによりArgumentErrorになるという誤解から出発したのです。それでArgumentErrorを拾うなどという横道に逸れました。ところがこれはnilなのです。@ne_sachirou殿の実装の肝はString::INFINITY=''なのですが、これはRangeに対する信用に基づくものです。
今日一日反省したいと思います。
反省の一環として、@ne_sachirou殿のコードに少し手を入れさせて頂きましたのでgistしておきます。
Ruby2.0において、('a'..'zz').sizeはnilとはビックリです。重量の問題なのでしょうか。
ところでこの#unittestメソッドは便利ですね。是非使わせてください。
blog comments powered by Disqus