From: Koji Arai Date: 1999-02-28T05:56:55+09:00 Subject: [ruby-dev:5795] Re: a genericity 新井です。 >>> From: EGUCHI Osamu >>> Date: 26 Feb 1999 08:57:51 +0900 >>> Subject: [ruby-dev:5735] Re: a genericity > えぐち@エスアンドイー です。 > 前後の説明がないとアレですね。 > いま話題にしている %% 演算子(案)は、 > > 123 %% 16 > => "7b” > > の様な任意の数の文字列表現に変換する演算しで > > "%x" % 123 > > では、123 と言うインスタンスが主でないので > > 123.hex_str > > の方がしっくり来る、と言う感覚と合致するのでは? > と考えて、新井さんの意見をうかがった次第です。 そうですねぇ。演算子形式は、(私の感覚では)メソッド 呼び出しではないので、「合致する」というより、とく に感覚に抵触しないもののように思えます。 # じゃあ、"%x" % 123 でいいじゃんと思うかも知れま # せん。うーん、悪くないとは思ってるんですが… が、演算子にするには、機能が特殊すぎるかな、と。やっ ぱり英字のメソッドの方がよいと思ってます。 > また3桁毎に ',' を入れるなどの機能は、 > モジュールにして、適宜 %% を再定義して > しまうと書式変更も容易、と言う話しも出ています。 include BaseForm puts 123 %% 10 # => 7b include NumberSeparator puts 123 %% 2 # 1,23 こんなイメージですか?面白いですがちょっと使いにく いかもしれないですね。この%%はどういう意味だろうっ て考えたとき include を探さないと行けないので見通 しが悪いかも。 素直に、 123.numberform(DigitBlock->3, NumberSeparator->",", Base->16) といった、メソッドにした方が良い気はします。(ruby のキーワード引数の案はどういう形式で固まってましたっ け?) しかしこれでは表現が長いですね。 では、 n = 123 n.DigitBlock = 3 n.NumberSeparator = "," n.Base = 16 puts n では?うーん、やっぱりprintfフォーマットがmnemonic で良いなぁ。 # ケチばかりつけてますね。話の腰を折ってごめんなさ # い。 > JCA02266> したものです。あれって、売り物ですよね?いくらする > JCA02266> んだろ? > > 学生の時に使えたと言うのは、羨ましい限りです。 うひゃ、こんなにありがたいモノだったんですね。 (まぁ、ソフトの値段なんてこんなもんなんだろうが) 調べて頂いて、ありがとうございます。