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