我将为您翻译关于 Ruby 中 "class << self" 的底层机制。我知道这是一个单例类定义,也知道如何使用它,但我想更深入地了解其工作原理。
以下是一个示例:
这些语句为什么会输出它们所输出的内容?
以下是一个示例:
class Klass
puts "#{self}" #=> Klass
class << self
puts "#{self}" #=> #<Class:Klass>
end
end
puts Klass.class #=> Class
puts Klass.singleton_class #=> #<Class:Klass>
这些语句为什么会输出它们所输出的内容?
Class
和 Class:Klass
、class 和 singleton_class 有何区别?请解释一下。