2016-03-23 21 views
1

referans sayfaları tümnasıl lua değişken argümanları almak için 5.2

function this(...) 
end 

gibi şeyler Ancak sözde arg değişken alıyorum hepsi sıfır referanstır uygulamaya çalıştığınızda söylüyorlar. Argümanları yakalamak için yaptığım herhangi bir girişim bir nil tablosunda sonuçlanır. local tab = {...}'u zorlamayı denedim ve hala nil referansını aldım. Argümanları ele geçirmeyi başardığım en yakın değer, sadece argüman sayısını veren select("#",...)'dur. Bu dışardaki parametre bildirimini yakalamayı denediğimde, başka bir hatadan başka bir şey elde etmemeye çalışıyorum ...

Bunlara iyice bakıyorum, bir tabloyu zorla geçmeden bunu başarabileceğim herhangi bir yol var mı?

cevap

4

arg bağımsız değişkeni yalnızca Lua 5.0 içindir. Lua 5.1'den beri, bunun yerine ... vararg ifadesi kullanılır.

bu deneyin:

function foo(...) 
    for k, v in ipairs{...} do 
     print(k, v) 
    end 
end 

foo('hello', 'world') 
+0

garip ... o ufak geçen gece çalışma değildi ama şimdi gayet çalışıyor ... – mysticSilence