第一版是為 Lua 5.0 所寫。雖然對於後續版本仍然極具參考價值,但仍有一些差異。
第四版針對 Lua 5.3,可於 Amazon 及其他書店購買。
購買書籍同時也能 贊助 Lua 專案。
![]() |
程式設計 Lua | ![]() |
第三部。標準函式庫 第 21 章。I/O 函式庫 |
tmpfile
函式會傳回一個暫存檔的控制代碼,並以讀寫模式開啟。當程式結束時,該檔案會自動移除(刪除)。flush
函式會執行所有待寫入檔案的動作。與 write
函式類似,您可以將其呼叫為函式 io.flush()
,以清除目前的輸出檔案;或作為方法 f:flush()
,以清除檔案 f
。
seek
函式可以用於取得和設定檔案的目前位置。其一般形式為 filehandle:seek(whence, offset)
。whence
參數是一個字串,用於指定如何詮釋偏移量。其有效值為 "set"
,表示偏移量會從檔案開頭開始詮釋;"cur"
,表示偏移量會從檔案的目前位置開始詮釋;以及 "end"
,表示偏移量會從檔案結尾開始詮釋。不論 whence
的值為何,呼叫都會傳回檔案的最後目前位置,以位元組為單位,從檔案開頭開始計算。
whence
的預設值為 "cur"
,offset
的預設值為 0。因此,呼叫 file:seek()
會傳回目前的檔案位置,而不會變更它;呼叫 file:seek("set")
會將位置重設為檔案開頭(並傳回 0);呼叫 file:seek("end")
會將位置設定為檔案結尾,並傳回其大小。下列函式會取得檔案大小,而不會變更其目前位置
function fsize (file) local current = file:seek() -- get current position local size = file:seek("end") -- get file size file:seek("set", current) -- restore position return size end
所有前述函式都會在發生錯誤時傳回 nil 和錯誤訊息。
版權所有 © 2003–2004 Roberto Ierusalimschy。保留所有權利。 | ![]() |