私はここでこのチュートリアルに取り組んでいます: http://rubymonk.com/learning/books/4-ruby-primer-ascent/chapters/39-ruby-s-object-model/lessons/131-singleton-methods-and -メタクラス
レッスンはクラス/メタクラスに関するものですが、それらは私がよく知らない構文を使用しています。以下の << の使用を参照してください。
class Object
def metaclass
class << self
self
end
end
end
a=Object.new
p a.metaclass.new
メソッドであることは知ってdef metaclass
いますが、 とはどういう意味class << self
ですか? 対応するend
ブロックがありますが、これが正確に何をしているのかはまだよくわかりません
(注:上記の演習の要点は、メタクラスをインスタンス化できないことを示しているだけです-私は理解していますが、このコンテキストでその << 演算子に頭を悩ませているだけです.
ありがとう!