08/05/04 20:13:44
>>407
すごい大雑把に説明すると、
クラスは鯛焼きプレートでインスタンスは鯛焼き。
def self.foo と定義したものはクラスメソッド。
def bar と定義したものはインスタンスメソッド。
インスタンスメソッドはインスタンスがないと (Hoge.new しないと) 実行できない。
クラスメソッドはクラスが定義されていれば実行できる。インスタンスは不要。
インスタンスメソッドからクラスメソッドを呼ぶのは可能。
def bar
self.class.foo
end
クラスメソッドからインスタンスメソッドを呼ぶには new しないとだめ。
あちこちに self が出てきて分からなくなってきたら p self として確認すればいいんじゃね。