読者です 読者をやめる 読者になる 読者になる

rubyのクラスメソット

クラスに関連する操作をするためにクラスメソットを定義する。

んで。このクラスメソットの定義方法は

def クラス名.メソット

end

になる

class HelloWorld

    def HelloWorld.hello()

        print 'hello' 

    end

end

こんな感じ。

クラス定義の中のselfはその暮らすオブジェクト自身を参照するから。

selfを使っても書ける。

class HelloWorld

    def self.hello()

        print 'hello' 

    end

end

こんな感じ。最後が良くわからんのだが。

class HelloWorld

   class <<  self # HelloWorldでもOK

        def hello()

            print 'hello' 

        end

        def bye()

            print 'bye' 

        end

end

複数のクラスメソットを定義したい時はこうするのがベターかな。

「たのしいRuby」によると最後の表記が元々あった形で、

前述が後から出てきた簡易版らしい。

まあ1つだけクラスメソットを定義したい時とかは便利なのかな。複数表現が有るのは慣れると楽しいんだけど、初期コストが上がると思うんだけどなー。。。