From: "Kawaji, Shinya" Date: 2003-08-21T20:23:13+09:00 Subject: [ruby-list:38181] Re: sub class of Mysql かわじ、です。 > 実は、Mysql::new() が接続処理をやってて、Mysql#initialize() は何もして > ないんです。ということで、今のところ『こういうもの』です。ごめんなさい。 > > ですので、Mysql#initialize() じゃなくて Mysql::new() の方をいじれば、 > できるかもしれません。 なるほど、確かに Mysql::new() の方を変更することで可能でした。 感謝します。とても助かりました。 >> require 'mysql' => true >> class DB < Mysql >> class << self >> alias new_origin new >> def new >> new_origin(nil, 'myclinic', 'myclinic', 'myclinic2') >> end >> end >> end => nil >> DB.new.query('select count(*) from gp') => # # 最初のメールには書きませんでしたが、実は本当にやりたいことは # もう少し込み入っていて、Mysql クラスのサブクラスを Singleton に # したかったのですが、これも上記のやり方でオッケイでした。 > # 今 1.6.8 を見てみたら、dbm.c ではちゃんと initialize() で処理 するよ > # うになってますね… (^^; 私自身は、上記で解決しましたが、出来れば他のクラスとの一貫性を持たせるた めにも、initialize で処理されている方が有り難いです。きっと、そのように 変更しても、過去との互換性の問題は少ないと思いますので・・・ > # しかし、『MySQL/Ruby』と『Ruby/MySQL』という名前はどうにかした方が良 > # いかも…。自分で書いててもややこしい…。 Perl の場合は、Pure Perl の実装の方を、mysqlPP と表記しているようです。 http://search.cpan.org/author/OYAMA/DBD-mysqlPP-0.04/mysqlPP.pm その流儀で行けば、MySQLPR とか、MySQLRR とかでしょうか? それともいっそのこと、MySQL/ExtRuby, MySQL/PureRuby, とする方が 分かりよさそうですね。