特異メソッドから直接インスタンスメソッドは呼び出せない
下記のような書き方をするとエラーになる。
class A def self.speak say_hello end def say_hello puts "Hello" end end A.speak # undefined local variable or method というエラーが表示される。
self.speak
メソッドの中で自分自身のクラスをnewすると呼び出すことができる。
class A def self.speak self.new.say_hello end def say_hello puts "Hello" end end A.speak # Helloと表示される。