【问题标题】:Difference between implicit and explicit io namespace functions in LuaLua 中隐式和显式 io 命名空间函数之间的区别
【发布时间】:2016-06-22 02:18:14
【问题描述】:

lua 中的隐式函数和显式函数有什么区别?我在阅读有关 Lua 中的文件操作时遇到了这些术语。隐式函数前面有 io.like io.read()而显式函数看起来像 file:read()。尽管书中说,我对区别一无所知

两者的区别在于隐式函数作用于 io 命名空间提供的默认文件,而显式 函数使用以前提供的文件句柄 操作,如io.open

有什么更好的解释吗?

【问题讨论】:

    标签: lua


    【解决方案1】:

    io.read 从默认输入文件中读取。

    默认输入文件是stdin,但您可以通过调用io.input来更改它。

    您还可以使用io.open 显式打开文件,并在方法调用中使用返回的句柄,例如f:read()

    io.read() 等价于io.input():read()

    另见http://www.lua.org/manual/5.2/manual.html#6.8

    【讨论】:

    • 请注意,这是一个仅适用于 io 函数的约定,一般不适用于 Lua 函数。
    猜你喜欢
    • 2013-03-29
    • 1970-01-01
    • 2020-08-21
    • 2015-04-23
    • 2013-05-19
    • 1970-01-01
    • 2020-10-21
    • 2012-08-12
    • 1970-01-01
    相关资源
    最近更新 更多