From: Masahiro Kawata Date: 2000-06-09T11:41:34+09:00 Subject: [ruby-list:23125] メソッドの中の動きを変える こんにちわ。かわた まさひろと申します。 rubyからOO(というんでしたっけ)を勉強中の身です。 みなさんに質問があるのですが,あるクラスにおいて, 同じメソッドでも設定によっては中の振舞いが全然違う(結果は同じ), という物を実現したいのです。 今やろうとしている目的は,データベースエンジンを簡単に 切り替える,という事です。 で思いついたのが, 1:requireで分ける 2:initilizeの時に引数を与えて,それをインスタンス変数に格納し,   それにより使用するデータベースエンジンを決定する。   後はメソッド単位でそれを参照する。 今は1の方法を取っています。こんな感じです。 module Config Mysql = "db_mysql" Csv = "db_csv" end require Config::Mysql でdb_mysql.rb とdb_csv.rbの中はクラスもメソッド名も結果も同じにする,とい った感じです。 2は一つのメソッドがエンジンが多くなるにつれて脹れ上がっていくような気が してやってないです。 言いたい事が伝わっているか不安なのですが・・・ 何か変なやり方な気がするので,もっと一般的とか美しいとか 効率的なやり方などがあれば教えていただけるとありがたいです。 よろしくお願いします。 かわた まさひろ