1

Ruby の固有クラスまたはシングルトン クラスの概念を理解するのに苦労しています。eigenclassは class の class であるとよく読みます。私にとって、クラスのクラスは実際にClassはすべてのクラスが実際にはクラスのインスタンスであるため、意味がありませんClass

私がよく理解していないもう 1 つのことは、次のステートメントです。クラス メソッドは、実際にはクラス固有クラスのインスタンス メソッドです。固有クラスには次の方法でアクセスできます。

YourClass = Class.new
class << YourClass
  def class_method
  end
end

しかし、固有クラスが実際ClassにYourClass クラス (つまり将来)?Classclass_method

実際、シングルトンクラスは と同じではないと感じていClassます。あなたがするとき:

class MyClass
end

MyClass.singleton_class

#<Class:MyClass>の出力とは異なるものを取得しますMyClass.class => Class

その#<Class:MyClass>出力は何ですか?これは名前空間とは関係ありません。それ以外の場合は 2 つになります: Class::MyClass...

私の考えを明確にするために、固有クラスの概念の単純で明確な説明を探しています。

4

3 に答える 3