moduleを使ってみる。
近頃、W-ZERO3[es]とかにかまけてRubyのお勉強が進んでいない。これではダメだ、激しくダメだ、習得は一気にならないと、間を置かずにやらないと、自分を断罪、断罪、また断罪、というわけでmoduleを使ってみる。あまり自分では使う機会がないと思っていたけど、Rubyに標準添付されているライブラリを読むときなどにすらすらと読めなかったので。
module Hoge class Huga def hugahuga p "hugahuga" end end end huga = Hoge::Huga.new huga.hugahuga
基本的なの。要は名前空間と言うことか。違うかもしれないけど。
module Hoge module Huga class Hoji def hojihoji p "hojihoji" end end end end hoji = Hoge::Huga::Hoji.new hoji.hojihoji
ネストすることも可能。
ネストするとインスタンスを作るときに面倒なので、
include Hoge::Huga hoji = Hoji.new hoji.hojihoji
と、することも可能。C#で言うところの、usingですな。
moduleに属するメソッドもある。モジュール関数と言うらしい。
module Hoge def hogehoge p "hogehoge" end module_function:hogehoge end Hoge.hogehoge
- 作者: 青木峰郎,後藤裕蔵,高橋征義,まつもとゆきひろ
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2004/05
- メディア: 単行本
- クリック: 35回
- この商品を含むブログ (68件) を見る