lua i/o 庫用於讀取和處理檔案。分為簡單模式(和c一樣)、完全模式。
簡單模式在做一些簡單的檔案操作時較為合適。但是在進行一些高階的檔案操作的時候,簡單模式就顯得力不從心。例如同時讀取多個檔案這樣的操作,使用完全模式則較為合適。
開啟檔案操作語句如下:
file =io.open
(filename
[,mode
])
mode 的值有:
模式描述
r以唯讀方式開啟檔案,該檔案必須存在。
w開啟只寫檔案,若檔案存在則檔案長度清為0,即該檔案內容會消失。若檔案不存在則建立該檔案。
a以附加的方式開啟只寫檔案。若檔案不存在,則會建立該檔案,如果檔案存在,寫入的資料會被加到檔案尾,即檔案原先的內容會被保留。(eof符保留)
r+以可讀寫方式開啟檔案,該檔案必須存在。
w+開啟可讀寫檔案,若檔案存在則檔案長度清為零,即該檔案內容會消失。若檔案不存在則建立該檔案。
a+與a類似,但此檔案可讀可寫
b二進位制模式,如果檔案是二進位制檔案,可以加上b
+號表示對檔案既可以讀也可以寫
簡單模式使用標準的 i/o 或使用乙個當前輸入檔案和乙個當前輸出檔案。
以下為 file.lua 檔案**,操作的檔案為test.lua(如果沒有你需要建立該檔案),**如下:
--執行以上**,你會發現,輸出了 test.ua 檔案的第一行資訊,並在該檔案最後一行新增了 lua 的注釋。如我這邊輸出的是:以唯讀方式開啟檔案
file =io
.open
("test.lua"
,"r")--
設定預設輸入檔案為
test
.luaio.
input
(file)--
輸出檔案第一行
print(io
.read
())--
關閉開啟的檔案io.
close
(file)--
以附加的方式開啟只寫檔案
file =io
.open
("test.lua"
,"a")--
設定預設輸出檔案為
test
.luaio.
output
(file)--
在檔案最後一行新增
lua注釋io.
write
("-- test.lua 檔案末尾注釋")--
關閉開啟的檔案io.
close
(file
)
--在以上例項中我們使用了 io."x" 方法,其中 io.read() 中我們沒有帶引數,引數可以是下表中的乙個:test
.lua
檔案
模式描述
"*n"
讀取乙個數字並返回它。例:file.read("*n")
"*a"
從當前位置讀取整個檔案。例:file.read("*a")
"*l"(預設)
number
返回乙個指定字元個數的字串,或在 eof 時返回 nil。例:file.read(5)
其他的 io 方法有:
通常我們需要在同一時間處理多個檔案。我們需要使用 file:function_name 來代替 io.function_name 方法。以下例項演示了如同同時處理同乙個檔案:
--執行以上**,你會發現,輸出了 test.ua 檔案的第一行資訊,並在該檔案最後一行新增了 lua 的注釋。如我這邊輸出的是:以唯讀方式開啟檔案
file =io
.open
("test.lua"
,"r")--
輸出檔案第一行
(file
:read
())--
關閉開啟的檔案
file
:close
()--
以附加的方式開啟只寫檔案
file =io
.open
("test.lua"
,"a")--
在檔案最後一行新增
lua注釋
file
:write
("--test")--
關閉開啟的檔案
file
:close
()
--read 的引數與簡單模式一致。test
.lua
檔案
Lua程式設計 Lua 基本語法03
lua 學習起來非常簡單,我們可以建立第乙個 lua 程式!互動式程式設計 lua 提供了互動式程式設計模式。我們可以在命令列中輸入程式並立即檢視效果。lua 互動式程式設計模式可以通過命令 lua i 或 lua 來啟用 lua i lua 5.3 0 c 1994 2015 lua.org,pu...
初識Lua語言
lua語言從一開始就被設計為能與c c 及其他常用語言開發的軟體整合在一起使用的語言。lua語言作為一門膠水語言,支援元件化的軟體開發方式,通過整合已有的高階元件可以輕鬆構建新的應用。在軟體中颱化開發模型中,lua勢必會扮演十分重要的角色。當然,lua還有其他特性和優點,lua的運用場合也有其他,這...
lua學習 lua及函式式程式語言
無論 python,ruby,還是 erlang,lua,這幾個比較新銳的語言,都支援函式式程式設計。函式式程式設計到底具有哪些特點?相對於傳統的命令式語言,其優勢在什麼地方?函式式程式設計,有如下幾個特點 1 函式是第一型別。函式像其它資料型別一樣,可以被賦值,可以當做引數,也可以當做函式的返回值...