2016-11-16 1 views
0

부하를 사용하지 않음, 나는이 소스 것 :load를 사용하여 만든 함수에 테이블 매개 변수를 전달하는 방법은 무엇입니까?

function dosearch(t) 
    t:search() 
end 

을하고 그러나

dosearch(my_search_t) 

로 전화를, 나는 내 위의 코드 문자열을 평가하기 위해 부하를 사용하고 싶습니다.

codestr = "t:search()" 
searchfunc = load(codestr) 

그리고 마지막으로 호출 :

function callsearch(t) 
    -- How to use debug.setupvalue to pass t? 
searchfunc() 
end 

을 나는 t을 통과 debug.setupvalue를 어떻게 사용합니까?

답변

2
function dosearch(t) 
    t:search() 
end 

내가 부하를 사용하는 경우는 아직 제공되지 않습니다

dosearch = load [[ 
    local t = ... 
    t:search() 
]] 
+0

t 동일하다. dosearch()를 호출 할 때만 설정할 수 있습니다. –

+0

't'는'load' 순간에 사용할 필요가 없습니다. 평소처럼'dosearch'를 호출하십시오 :'dosearch (t)' –

+0

Fantástico. 공장! –

관련 문제