这个Lua函数定义了一个函数A,函数A接受一个参数id,并返回一个函数。这个返回的函数也接受一个参数id,但是在函数体内并没有任何操作。

对于函数A的参数id和返回的函数的参数id,它们的作用域是不同的。在Lua中,函数的参数作用域仅限于函数内部,即函数体内部的id变量只在函数体内部有效。因此,C++引擎传递的参数不会覆盖函数体内部的形参,因为它们处于不同的作用域。

具体来说,当C++引擎调用Lua函数A并传递参数id时,这个参数只会在函数A内部有效,在返回的函数中并不会直接影响到函数体内部的形参id。如果在返回的函数中想要使用外部传递的id参数,可以通过闭包的方式来引用函数A中的id参数。


原文地址: http://www.cveoy.top/t/topic/hyT0 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录