From: Tanaka Akira Date: 2007-11-12T23:37:44+09:00 Subject: [ruby-dev:32240] Re: Integer#ord for 1.8 In article <86abpjah3p.knu@iDaemons.org>, "Akinori MUSHA" writes: > String#ord を追加してどちらでも 'a'.ord というのではいまいち > ですかね。?a.ord と書きたい気持ちの方が強いかな。 ?a.ord のように ?a が書いてあるところを書き換えられるのであ ればいいのですが、ライブラリの呼出元に ?a と書いてあって、ラ イブラリ側でそれをサポートしたいというケースではうまくいきま せん。 個人的にいえば abnf 内部の natset (自然数の集合) がそうで、 NatSet.new(?\n) などと書きたいという経験があります。まぁ、 natset は abnf の内部的なものとすれば呼出元をすべて書き換え ればいいというのもたしかなんですが、常にそうできるというわけ でもないでしょう。 1.8 では整数だったものが 1.9 では文字列になるので、その扱いかた としては、 1. 1.8 では整数で扱い、1.9 では文字列で扱う 2. 1.8 でも 1.9 でも文字列で扱う 3. 1.8 でも 1.9 でも整数で扱う という 3種が考えられると思うのですが、 最初のは変換メソッドは不要で、 2番目のは 1.8 の Integer#chr と 1.9 の String#chr が使えて、 3番目のは ord を使いたいが 1.9 に String#ord はあるが 1.8 に Integer#ord がない、 という状況で、この件はその抜けている Integer#ord ところの提 案なわけです。 というわけでどうですかね。 -- [田中 哲][たなか あきら][Tanaka Akira]