2014-04-04 141 views
3

lua中隱式函數和顯式函數之間的確切區別是什麼?我在這些方面來,而在Lua.Implicit功能閱讀有關文件操作由io.像前面io.read()明確而功能看起來像file:read()。我是無能的區別,雖然書上說Lua中隱式和顯式io名稱空間函數之間的區別

兩者之間的區別是隱函數的 默認文件工作由io命名空間中,而明確 功能與以前的 操作提供的文件處理工作,如io.open

有什麼更好的解釋嗎?

回答

3

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

+3

請注意,這是一個慣例,只適用於'io'函數,而不適用於一般的Lua函數。 –

相關問題