Ruby 初心者スレッド Part 14at TECH
Ruby 初心者スレッド Part 14 - 暇つぶし2ch208:デフォルトの名無しさん
07/09/10 06:17:02
>>199
Mで定義されたメソッドはインスタンスメソッドだから、Cでincludeしたらやっぱりインスタンスメソッドとなっちゃうので、クラスメソッドとしては呼び出せない。
クラスメソッドとして使うにはクラスメソッドとして定義する必要があって、そのためには>>207のようにincludeではなくextendを使う。
URLリンク(www.ruby-lang.org)
または、hogeをmodule functionとして定義する。すると、インスタンスメソッドとしても、(M.hogeという形で)クラスメソッドとしても呼び出せる。
module M
 module_function
 def hoge; :hoge; end
end
class C
 include M
 HOGE = M.hoge
end
URLリンク(www.ruby-lang.org)


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch