2016-11-16 6 views
0

負荷を使用していないが、私はこのソースだろう:loadで作成された関数にテーブルパラメータを渡すにはどうすればよいですか?

function dosearch(t) 
    t:search() 
end 

をし、しかし

dosearch(my_search_t) 

でそれを呼び出す、私の中に上記のコードの文字列を評価するための負荷を使用したいです。

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

そして最終的にそれを呼び出す:私はトンを渡すためにdebug.setupvalueを使用するにはどうすればよい

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

答えて

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

は私が負荷を使用するときにはまだ利用できません

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

トンに相当します。私はdosearch()を呼び出すときにしか設定できません –

+0

't'は' load'の時点で利用可能である必要はありません。いつものように 'dosearch'を呼び出してください:' dosearch(t) ' –

+0

Fantástico。作品! –

関連する問題