隐藏功能

lua-users home
wiki

Lua C API 和标准库可能包含一些未记录、不支持或实验性的功能。它们很可能由于某种原因不受支持,并且可能随时消失或更改 - 使用它们风险自负。

关闭标准文件

从 5.1.3 开始,不允许关闭标准文件(例如 stdin、stdout 和 stderr),因为这会导致一个错误[1][5]

> assert(io.stdout:close())
stdin:1: cannot close standard file

以下是一个解决方法,但请谨慎使用

local f = assert(io.open '/dev/null') -- or possibly NUL on Windows
debug.setfenv(io.stdout, debug.getfenv(f))
f:close()
assert(io.stdout:close()) -- ok

旧项目

另请参阅


RecentChanges · preferences
edit · history
最后编辑于 2014 年 9 月 27 日凌晨 1:46 GMT (diff)