特異メソッド
特定のインスタンスだけが実行できるメソッドを特異メソッド、というそうです。特異メソッド以外にも Ruby では"特異"という単語がよくでてくるような気がします。特異メソッドは英語では "Singleton Method"、と呼ばれるようです。
a = "hello" b = a.dup def a.to_s "The value is '#{self}'" end
あるいは
class << a def to_s "The value is '#{self}'" end end
と書けるとのこと。夢の中で見た謎の文法 "class << a" の謎が解けました。
使いどころはまだよく分かっていません。特定のインスタンスの動きをちょっとだけ変えたい、という時などでしょうか。a と b は同じインスタンスだけれども、a の動きだけちょっと変えたい、でも同じインタフェースでそれらは扱いたい、といったケースなど...。どういう場合にそれが発生するか、が問題です。
ちょっと今日は Ruby を勉強している時間があまりありません。残念です。