特異メソッド
特異メソッドは、特定のオブジェクト固有のメソッドを作成することができます。
class Japanese def hello(name) puts "#{name} こんにちは" end end foo = Japanese.new foo.hello("foo") =>foo こんにちは bar = Japanese.new bar.hello("bar") => bar こんにちは def foo.hello(name) puts "#{name}は特異メソッドを使用した" end foo.hello("foo") =>fooは特異メソッドを使用した←foo固有のメソッドになっています。 bar.hello("bar") => bar こんにちは
fooのみ、メソッドが変化しています。
ちなみに特異メソッドはオーバーライドもできます。
def foo.hello(name) super puts "#{name}は特異メソッドを使用した" end foo.hello("foo") =>foo こんにちは =>fooは特異メソッドを使用した
特異メソッドを辿っていくと、rubyの仕組みを深めれるようですが、そこまでは分かってないので、特異メソッドがあるということだけの報告です。