Ruby: Можно ли определить метод класса в модуле?

На Солярисе существует "atomic.h" (т.е. < sys/atomic.h> ).

59
задан Flip 10 January 2017 в 10:05
поделиться

1 ответ

Просто требуемый для расширения ответа Oliver Определяют Методы класса и методы экземпляра вместе в модуле.

module Foo
 def self.included(base)
   base.extend(ClassMethods)
 end
 module ClassMethods
   def a_class_method
     puts "ClassMethod Inside Module"
   end
 end

 def not_a_class_method
   puts "Instance method of foo module"
 end
end

class FooBar
 include Foo
end

FooBar.a_class_method

FooBar.methods.include?(:a_class_method)

FooBar.methods.include?(:not_a_class_method)

fb = FooBar.new

fb.not_a_class_method

fb.methods.include?(:not_a_class_method)

fb.methods.include?(:a_class_method)
0
ответ дан 24 November 2019 в 18:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: