Ruby Language Héritage de la classe Singleton


Exemple

Le sous-classement comprend également les sous-classes de la classe Singleton

class Example
end

Example.singleton_class #=> #<Class:Example>

def Example.foo
  :example
end

class SubExample < Example
end

SubExample.foo #=> :example

SubExample.singleton_class.superclass #=> #<Class:Example>

L'extension ou l'inclusion d'un module n'élargit pas la classe Singleton

module ExampleModule
end

def ExampleModule.foo
  :foo
end

class Example
  extend ExampleModule
  include ExampleModule
end

Example.foo #=> NoMethodError: undefined method