local print_old = print
local print = print
print = nil -- 这里照理说是操作 local print 吧?应该不会影响全局变量里的 print 才对
print_old(print) --可是影响了,为啥?
我之前的理解是局部变量和全局变量在 lua 里是用不同的方式实现的,所以 local print_old = print
这里应该不是指向而是生成一个新的值,看来我的理解有误.
local print = print
print = nil -- 这里影响的是 局部变量 print
print_old(print) -- 这里print的是 局部 print
print_old(_G.print) 这才是全局的print
>--
>您收到此邮件是因为您订阅了 Google 网上论坛的“Lua Chinese(Lua中文用户组)”论坛。
>要向此网上论坛发帖,请发送电子邮件至 lua...@googlegroups.com。
>要取消订阅此网上论坛,请发送电子邮件至 lua_cn+un...@googlegroups.com。
>若有更多问题,请通过 http://groups.google.com/group/lua_cn?hl=zh-CN 访问此网上论坛。
>