From: keiju@... (=?ISO-2022-JP?B?GyRCQFBETTc9PHkbKEI=?=) Date: 2000-01-07T14:51:57+09:00 Subject: [ruby-dev:8868] Re: [REQ] Integer#{hex,dec,oct,bin}, String#bin けいじゅ@日本ラショナルソフトウェアです. In [ruby-dev :8862 ] the message: "[ruby-dev:8862] Re: [REQ] Integer#{hex,dec,oct,bin}, String#bin ", on Jan/07 13:01(JST) GOTO Kentaro writes: >ごとけんです >>> こういうメソッドってあると便利なことがあるのは確ですが, 全然標準であって >>> も嬉しいことはないんじゃないと思います. >>> こういうものは標準添付ライブラリ(ext/lib)にして, ほしそうな機能を全部追 >>> 加するというのがよいんじゃないでしょうか? > >ワンライナーでの使い心地がやたら悪くなるというデメリットはあ >りますが、公的?な名前がつくならそれでも構いません。1.4.x へ >の導入も可能でしょうし。で、どういうククリにしますか?? ぼく >は「数の表現」ということで > > numrepres.rb > >としてますが、 num/repres.rb がいいかなぁと思います。 そろそろ, numディレクトリはあってもいいと思いますね. >>> # 私としては何種類かの基数にかぎらず任意基数のものがあってもよいと思いま >>> # す. > >そういうインターフェイスもあって良いと思いますが、 >descriptive な方が意味が通りやすいと思いました。それに、任意 >と言っても永井さんのメールにもあるように、 > >> base(n[,fmt,sep]) : 整数を n 進数表現にする ( 2 <= n <= 36 ? ) > ============== > >のように底に何らかの制限がつくというのは避けれないでしょう。 >まぁたまに4進数表記がほしいこともありますが、13進数なんかが >必要なのは、特殊な体の表現でなければ中学入試問題くらいしかな >いんじゃないかなぁ。 実用上はそうかもしれませんが, アルゴリズムが変るわけでなし特に制限する必 要もないんじゃないですかね? と思ったけど, ごとけんさんのはRubyのビルトイン機能を使っているんですね (^^;;; String#%って演算子があるのを初めて知りました(^^;;; ま, それはともかく. .rbにするときには, 機能の完全性を求めることができま すので, 一般的なbase()の存在も許されると思います. ところで, (gnu)bcでは, obaseが16以上では, 配列表現(?)になりますね. obase=17 1000 -> 03 07 14 ですので, 一般的なbase()は Array of Integer で返せばよいんじゃないですか ね? # これで, irbの-mオプションもより完璧になれる(^^;;; >> to_i([n]) : 文字列を n 進で解釈して整数に変換する (省略時は 10) > >String#to_i の引数は少なくとも他の to_i との違いが気になります。 >名前は違った方が良いんじゃないかなぁ。 私もごとけんさんの意見に賛成. __ ..............................石塚 圭樹@日本ラショナルソフトウェア... ----------------------------------->> e-mail: keiju@rational.com <<---