我试图弄清楚松鼠的_call
元方法的语义,并为明显的无关紧要的第一个论点所困扰。
进行以下设置:
t <- {};
t.setdelegate({function _call(...) {
print("this = " + this + "\n");
foreach(i,v in vargv) {
print("v" + i + " = " + v + "\n");
}
}});
然后调用t
将导致显示额外的第一个参数:
: t(42)
this = (table : 0x0x2681340)
v0 = (table : 0x0x2614a20)
v1 = 42
: print(t)
(table : 0x0x2681340)
作为第一个参数传递的这个神秘表是什么(请注意,它不是t
,而是第一个参数),它将始终作为第一个参数传递以便我可以忽略它吗? >