特異。
仕事中、つらい現実から逃避しようとリファレンスマニュアルを読んでいると、特異メソッド、特異クラスという記述を発見。特異って何だ?と思いつつも、さすがにその場で動作確認を取るわけにはいかないので、今から。
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"
インスタンスにメソッドとクラスを追加できる仕組みらしい。
いちいちクラスを定義しなくていいので、美味しんぼの山岡のようになりたいと思っているぐーたらで怠け者な私には、うれしい機能かもしれない。
それなりに言語仕様を理解したつもりだったけど、いろいろとあるんだなぁ、もっと修行を積まねば。