rubyにおけるincludeとextendの違い
以下のように引用する
include : mixes in specified module methods as instance methods in the target class extend : mixes in specified module methods as class methods in the target class
見たことがあるのを覚えていますが、使われたときに忘れてしまいました.コップですね.
include : mixes in specified module methods as instance methods in the target class extend : mixes in specified module methods as class methods in the target class
見たことがあるのを覚えていますが、使われたときに忘れてしまいました.コップですね.
module A
def klass_method
puts 'klass method'
end
def ins_method
puts 'instance method'
end
end
class B
end
B.class_eval do
include A
end
B.new.ins_method # 'should puts instance method'
#B.klass_method # 'not define'
B.class_eval do
extend A
end
B.klass_method # 'klass method'
B.ins_method # also as class method