を使用しての目的に反し、あなただけの参照によって変数を渡すことを選択するかをすることはできませんでした。基本型は決して参照で渡されることはありません(数字やブール値など)。他のものは常に参照によって渡されます(テーブル、ユーザーデータ、文字列など)。文字列の場合、これは大したことではありません。地元の人々からグローバルにこれだけの作品は、テーブル内に保持されていないことを
a=2
b=3
function myfunc(...)
local args={...}
for k,v in pairs(args) do
_G[v]=_G[v]+k
end
end
myfunc('a')
print(a) -- 3
myfunc('a','b')
print(a,b) -- 4 5
注:
だからどちらかのあなたは、このような文字列としてグローバルに仕事をしたい、あなたの引数を渡します。テーブルでの作業
は物事のこの種はあまり痛みを伴う可能:
function myfunc(t)
for k,v in pairs(t) do
t[k]=v+k
end
end
tab1={a=2}
myfunc(tab1)
print(tab1.a) -- 3
tab2={a=2,b=3}
myfunc(tab2)
print(tab2.a,tab2.b) -- 3 5
を 'テーブルのみexception.'技術的であることで、テーブルの値が* *その参照です。表の*内容*は、表の値とは別です。 –