Я пытаюсь понять базовый механизм для класса Ruby's класса < <. Я понимаю, как использовать это, и я знаю, что это определение одноэлементного класса, но я хотел бы действительно понять, как он работает.Использование класса << self in Ruby
Вот пример:
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
, класс и singleton_class ??
Попробуйте http://www.devalot.com/articles/2008/09/ruby-singleton –