るびきちです。
そろそろ特異クラスを得るメソッドを導入しても良いのではないでしょうか?
毎回「(class << x; self; end)」と書くのは美しくないですから。
名前はそのまま「Object#singleton_class」がいいと思います。
そして別名「Object#eigenclass」、「Object#metaclass」も欲しいです。
class Object
def singleton_class
class << self; self; end
end
alias eigenclass singleton_class
alias metaclass singleton_class
end
x = "a"
class << x; self; end # => #<Class:#<String:0xb7b2c700>>
x.singleton_class # => #<Class:#<String:0xb7b2c700>>
x.eigenclass # => #<Class:#<String:0xb7b2c700>>
x.metaclass # => #<Class:#<String:0xb7b2c700>>
--
rubikitch
Blog: http://d.hatena.ne.jp/rubikitch/
Site: http://www.rubyist.net/~rubikitch/