2011-04-23 3 views

답변

3

더 :

local require_original = require 

function require(module) 
    -- do something with the module name 
    require_original(module) 
end 
+0

이것은 Java 프로그래머에게 해킹처럼 보일지 모르지만 루아에서는 완벽하게 정상적인 것으로 보이며 좋은 해결책이 될 수 있습니다. 내가 할 수 있다면 +2를 주겠다. –

+0

@Jon : 공식 API에서'package.loaded'가 주어지면 주어진 태스크에 대한 해킹입니다. –

2

체크 아웃 package.loaded 테이블 : 당신은 호스팅 환경을 제어 할 경우, 당신은 항상 그것의 버전과 require을 대체 할 수 있습니다.

+2

짝을 이루는 이름 (package.loaded)을 사용해보십시오. print (name) end'. – lhf

+0

문제는 하나의 모듈에 의해로드 된 패키지뿐만 아니라 모든 *로드 된 패키지를 반환한다는 것입니다. –

+0

@ 스튜어트 : 당신은 항상 하나의 요구 전후의 값을 비교할 수 있습니다. 차이점은 요구되는 패키지 목록입니다. –