2012-01-14 2 views

답변

2

루비는 하나의 모듈을 두 번 포함하도록 허용하지 않습니다. 두 번째 시도는 두 번째로 무시됩니다. 내부적으로 Module#include에 의해 사용되는 Module#append_features의 문서에서

:

이 모듈이 이미 추가되어 있지 않은 경우 루비의 기본 구현은 모드이 모듈의 상수, 메서드 및 모듈 변수를 추가하는 것입니다 개조 또는 조상 중 하나에.

+0

그러나 모듈이 클래스에 포함될 때마다 '포함 된'모듈 콜백을 호출하는 이유는 무엇입니까? – megas

+0

'Module # include' 소스를보세요. 우선'append_features'를 호출하고 모듈이 실제로 포함되었는지 아닌지에 관계없이'included' 후크를 호출합니다. –

관련 문제