萌新求解....
lua吧
全部回复
仅看楼主
level 2
Hoke丶Mike 楼主
function newcount()
local i=0
return function()
i=i+1
return i
end
end
c1=newcount()
print(c1()) -->1
print(c1()) -->2
为什么第二次print(c1())是2而不是1,不是每次调用c1函数的时候都会定义一个局部变量i吗,为什么会保留第一次的i值..............
求大佬点解一番,[喷]
2018年01月30日 18点01分 1
level 10
因为无名函数里面的变量i是全局变量,如果这样写就不会返回2了: local i=i+1
2018年01月31日 18点01分 2
看了之后大概有get到一些...那这样子讲的话那个loval i可以不要吗[喷](谢谢大神点解...我都忘记过来看了)
2018年02月05日 12点02分
看了之后大概有get到一些...那这样子讲的话那个loval i可以不要吗[喷](谢谢大神点解...我都忘记过来看了)
2018年02月05日 12点02分
1