複数の「数値」引数を受け入れるLuaの関数を呼び出そうとしています
_function addShape(x1, y1, x2, y2 ... xn, yn)
_
そして、私は引数として渡したい値のテーブルを持っています
_values = {1, 1, 2, 2, 3, 3}
_
関数呼び出しでこれらの値を動的に「アンパック」することは可能ですか(これが正しい用語かどうかはわかりません)?何かのようなもの..
_object:addShape(table.unpack(values))
_
呼び出しと同等:
_object:addShape(1, 1, 2, 2, 3, 3)
_
これが完全に明白なLua質問である場合はお詫びしますが、私はこのトピックについて何かを見つけることができません。
更新
unpack(values)
も機能しません(メソッドaddShape(...)
を詳しく調べて、渡された値の型を確認すると、unpack
が1つのstring
になることがわかります。
あなたはこれを求めている:
object:addShape(unpack(values))
参照: http://www.lua.org/pil/5.1.html
以下は完全な例です。
shape = {
addShape = function(self, a, b, c)
print(a)
print(b)
print(c)
end
}
values = {1, 2, 3}
shape:addShape(unpack(values))