特異。

仕事中、つらい現実から逃避しようとリファレンスマニュアルを読んでいると、特異メソッド、特異クラスという記述を発見。特異って何だ?と思いつつも、さすがにその場で動作確認を取るわけにはいかないので、今から。

str = ""
def str.out(val)
  p val
end
str.out("hoge")

class << str
  attr_accessor:huga
  def out_huga
    p @huga
  end
end

str.huga = "huga"
str.out_huga

結果。

"hoge"
"huga"

インスタンスにメソッドとクラスを追加できる仕組みらしい。
いちいちクラスを定義しなくていいので、美味しんぼの山岡のようになりたいと思っているぐーたらで怠け者な私には、うれしい機能かもしれない。
それなりに言語仕様を理解したつもりだったけど、いろいろとあるんだなぁ、もっと修行を積まねば。