Lua 编程问题

2014-11-24 00:58:13 · 作者: · 浏览: 6

lua IO

io.output("xxx1") -- also be writed: local ff1 = io.output("xxx1"); 实际是以"w"模式打开文件xxx1,只是把句柄保存到全局表里
io.write("*")
io.close() -- equal to [io.close(io.output())] and [io.output():close()]


io.input("xxx2") -- also be writed: local ff2 = io.output("xxx2"); 实际是以"r"模式打开文件xxx2,只是把句柄保存到全局表里
io.read("*")
io.close(io.input()) -- io.input():close()


local f1 = io.open("xxx3", "w")

f1:close()


lua variable scope

lua 的变量 经过dofile require执行后,在外层依然可见;反之,外层变量在dofile和require里也是可见的


改变函数的环境


aa = 1
bb = 2
function nn()
local _ENV = {["aa"] = 100, ["print"]=_ENV.print}
return function () -- 此函数的环境变量变为 {["aa"] = 100, ["print"]=_ENV.print}


print(aa) -- 100
print(bb) -- nil
end
end


local ff = nn()
ff()


推荐阅读