Ruby 메타 프로그래밍에 대한 내 머리를 들려주세요. mixin/modules은 항상 나를 혼란스럽게합니다.Ruby에서 포함과 확장의 차이점은 무엇입니까?
- 는 포함 대상 클래스
- 에 인스턴스 메소드으로 지정된 모듈 법 믹스 연장 : 믹스 지정된 모듈 방식의 대상 클래스 클래스 메소드로
이렇게 큰 차이가 있습니까? 아니면 더 큰 용이 숨어 있습니까? 예 :
module ReusableModule
def module_method
puts "Module Method: Hi there!"
end
end
class ClassThatIncludes
include ReusableModule
end
class ClassThatExtends
extend ReusableModule
end
puts "Include"
ClassThatIncludes.new.module_method # "Module Method: Hi there!"
puts "Extend"
ClassThatExtends.module_method # "Module Method: Hi there!"
다음 링크도 확인하십시오. http://juixe.com/techknow/index.php/2006/06/15/mixins-in-ruby/ – Donato