Ruby勉強

インターネットの企画職な人がプログラミングを勉強するブログ

Rubyクラスメソッド - Silver/Gold試験対策

# クラスメソッドの定義。実行時、初期化が要らない
class Hoge
  def self.fuga
    :fuga
  end
end
p Hoge.fuga #=> :fuga
# selfの正体を出力
class Hoge
  def (p(self)).fuga
    :fuga
  end
end #=> Hoge

Hoge

# クラスメソッドの定義
class Hoge
  def Hoge.fuga
    :fuga
  end
end
p Hoge.fuga #=> :fuga
# 複数定義する際には
class Hoge
  class << self
    def foo
      :foo
    end
    def bar
      :bar
    end
  end
end
#もしくはこう
class << Hoge
  def foo
    :foo
  end
  def bar
    :bar
  end
end