Lua程式設計筆錄 Lua初識及語法七(I O操作)

2021-07-24 20:17:56 字數 2297 閱讀 2697

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(如果沒有你需要建立該檔案),**如下:

--

以唯讀方式開啟檔案

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

)

執行以上**,你會發現,輸出了 test.ua 檔案的第一行資訊,並在該檔案最後一行新增了 lua 的注釋。如我這邊輸出的是:

--

test

.lua

檔案

在以上例項中我們使用了 io."x" 方法,其中 io.read() 中我們沒有帶引數,引數可以是下表中的乙個:

模式描述

"*n"

讀取乙個數字並返回它。例:file.read("*n")

"*a"

從當前位置讀取整個檔案。例:file.read("*a")

"*l"(預設)

number

返回乙個指定字元個數的字串,或在 eof 時返回 nil。例:file.read(5)

其他的 io 方法有:

通常我們需要在同一時間處理多個檔案。我們需要使用 file:function_name 來代替 io.function_name 方法。以下例項演示了如同同時處理同乙個檔案:

--

以唯讀方式開啟檔案

file =io

.open

("test.lua"

,"r")--

輸出檔案第一行

print

(file

:read

())--

關閉開啟的檔案

file

:close

()--

以附加的方式開啟只寫檔案

file =io

.open

("test.lua"

,"a")--

在檔案最後一行新增

lua注釋

file

:write

("--test")--

關閉開啟的檔案

file

:close

()

執行以上**,你會發現,輸出了 test.ua 檔案的第一行資訊,並在該檔案最後一行新增了 lua 的注釋。如我這邊輸出的是:

--

test

.lua

檔案

read 的引數與簡單模式一致。

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 函式是第一型別。函式像其它資料型別一樣,可以被賦值,可以當做引數,也可以當做函式的返回值...