私はluaの関数構文の砂糖を呼び出す方法についていくつか知っていました。なぜluaの構文の砂糖はここでは機能しません(コロンで関数を呼び出す)?
A = {}
function A.func(a) print(tostring(a))end
私は上記の表Aを持っています。そしてまた、私は
A:func()
次のようにしかし、ときに私は、テーブルBにAとA.funcを保存し、その後、コールバックしようとする呼び出すことができ、 この
A.func(A)
ようA.funcを呼び出すことができます。エラーは「ゼロ値(メソッド 『V』)を呼び出すための
試み」だから
B = {}
B[A] = A.func
--call A.func
k,v = next(B)
k:v()--error happened here
v(k)--no error occurred
である、起こった、私はちょうど私がシンタックスシュガーを使用する場合、ここで何が起こっただろうか?
ありがとうございました。 @Ruslan Rakhmanin – francis