- ベストアンサー
モジュールのメリット、デメリットについて
Rubyでいろいろなツールを作っているのですが、共通するプログラムを抜き出して別のファイルにしようとしています。 今までは、xxx.rbに共通するプログラムを集めてrequireで読み込んでいたのですが、 webとか「たのしいRuby」を調べていたらモジュールとかがあるのがわかりました。 それで、モジュールを使って(モジュールにまとめて)みようと思ったのですが、 何か、メリットやデメリットはあるのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
モジュールを使うのは2種類の目的があります。どちらかに該当すれば使えば良いでしょう。 1.複数のクラスで同じ機能を使う(多重継承) 例: モジュール Comparable を使うと、<=> だけ定義すれば他の比較演算子が自動的に定義される 2.名前空間の分離 クラスや定数、メソッドなどの名前がぶつからないように、親となる名前空間を作る。 ライブラリの中の構造の整理など。 例: 「太郎」という名前では区別できないので、「山田::太郎」、「鈴木::太郎」を使う。
その他の回答 (1)
- notnot
- ベストアンサー率47% (4900/10358)
回答No.2
>モジュールを使わずに、メソッドの名前をライブラリごとに変える、たとえば、ライブラリの名前をメソッドの先頭につけても同じ(たとえば「山田太郎」、「鈴木太郎」という名前にする)ということになるのでしょうか? 別にかまいません。 ただし、家庭内でも「太郎」でなくフルネームで呼び合うことになるので、ややうっとおしいか。
質問者
お礼
回答ありがとうございます。 とりあえず、モジュールでいろいろ試してみます。
補足
回答ありがとうございます。 クラスについては今の私には難しすぎて使うことは当分なさそうです。 となると、名前がぶつからないようにできるということが(今の私にとっての)メリットということになりそうですが、 モジュールを使わずに、メソッドの名前をライブラリごとに変える、たとえば、ライブラリの名前をメソッドの先頭につけても同じ(たとえば「山田太郎」、「鈴木太郎」という名前にする)ということになるのでしょうか?