一直有个疑问 连跳脚本算不算作弊
关于dostring中的局部变量 这里刚好是有个特殊情况的
我用的luaforwindows直接运行的 没dostring 就先用loadstring了<pre t="code" l="cpp">local a = 1
print(loadstring(;a = 123;)())
print(a,_G.a)这里a = 123执行时 不会给局部变量a进行赋值操作,而是修改了全局变量a对于到底是局部变量还是全局变量的判断 依据的是 使用这个变量的这个区域 在使用之前 是否有过局部变量的声明比如<pre t="code" l="cpp">a = 1
print(a)
local a = 2
print(a,_G.a)这样就能看到2个不同的a
而在function Msg(x,y)中是因为x和y是被当作实参传过来的 函数里的实参 在函数内部都是作为局部变量来使用 所以xy是局部而a是全局