В первом предложении вы создаете анонимный класс с суперклассом String
:
my_str.class.superclass # => String
Но это не суть вашего актуального вопроса:)
Экземпляр является объектом некоторого класса: String.new() # creates instance of class String
. Экземпляры имеют классы (String.new()).class #=> String
. Все классы на самом деле являются экземплярами класса Class
: String.class # => Class
. Экземпляры класса Class
также имеют superclass
- класс, от которого они наследуются.
Метод экземпляра - это метод, который можно вызывать для экземпляра объекта.
"st ri ng".split # split is an instance method of String class
Метод класса в Ruby - это общий термин для методов экземпляра объекта класса Class
(любой класс).
String.try_convert("abc") # try_convert is a class method of String class.
Подробнее о методах экземпляра и класса вы можете прочитать в этой статье .