特異メソッドについて
class C
class << C
def hoge
'Hi'
end
end
def hoge
'Goodbye'
end
end
p C.new.hoge
"Goodbye"
このように表示される。
p C.new.hoge
上記の記述では、インスタンスを作成してその中のメソッドを呼び出ししているため"Goodbye"
と表示される。
特異メソッドの宣言方法
特異メソッドの宣言方法には2つあるらしい。
## 1つめ
class << C
def hoge
'Hi'
end
end
## 2つめ
def C.hoge
'Hi'
end
このように2つの宣言方法があるらしい。
そしてこの特異メソッドを呼び出したい時は、p C.hoge
というようにすればいい。
そうするとHi
と表示される。