檔案讀寫
檔案讀寫對製作遊戲很有幫助。可以呼叫別的檔案中的**,儲存最高分、遊戲存檔、玩家狀態等信寫到檔案中。
首先,讓我們看乙個簡單的命令:dofile。這個命令會讀入另乙個檔案的**並立即執行。
**:dofile("./test.lua")
很簡單的命令。注意 ./ 是指根目錄,不是子目錄。如果是子目錄,應該這樣用:
**:dofile("./files/test.lua")
那麼,如果我們的檔案 test.lua 包含下述**:
**:playerx = 10 playery = 20 enemyx = 40 enemyy = 50
一旦我們用 dofile 呼叫這個檔案,這些變數將立即得到宣告。檔案不是非得用 lua 字尾,txt 或其他字尾都可以。
從檔案中讀取一行:
假設你有乙個很多行文字的檔案,你想從中讀取一行,並列印到螢幕上。為此我們可以使用 io.open() 命令開啟檔案並讀取。
引用:r - 讀取模式w - 寫入模式(覆蓋現有內容)
a - 附加模式(附加在現有內容之後)
b - 二進位制模式
r+ - 讀取更新模式(現有資料保留)
w+ - 寫入更新模式(現有資料擦除)
a+ - 附加更新模式(現有資料保留,只在檔案末尾附加)
第一件要做的事情就是開啟檔案並存為乙個變數。看下面。
**:file = io.open("testread.txt", "r")
現在我們的檔案 testread.txt 已開啟並處於讀取模式。接著我們使用 read() 命令讀取檔案中的單行內容存為另乙個變數。
**:ourline = file:read()
請注意,此命令前的 file 是我們之前開啟檔案並儲存的變數名,你可以使用任何其他名字。file.read() 還可以使用下列任乙個引數,只要用引號括起來放入括號裡就可以。
引用:*n - 讀取乙個數字並返回它。例:file.read("*n")
*a - 從當前位置讀取整個檔案。例:file.read("*a")
number - 返回乙個指定字元個數的字串,或在 eof 時返回 nil。例:file.read(5)
既然我們已經讀取到所要的那一行,我們需要關閉開啟的檔案,像這樣:
**:file:close()
現在要列印我們的檔案至螢幕我們只要這麼做:
**:screen:print(10,10,ourline,white)
讀取所有行
要讀取乙個檔案的所有行,你可以在乙個 for 語句中使用上述技巧。請看下述**:
**:y = 10
file = io.open("testread.txt","r")
for line in file:lines() do
y = y + 10
screen:print(100,y,line,white)
endf
ile:close()
lua 範例 Lua 運算子
lua 運算子 運算子是乙個特殊的符號,用於告訴直譯器執行特定的數學或邏輯運算。lua提供了以下幾種運算子型別 算術運算子 關係運算子 邏輯運算子 其他運算子 算術運算子 下表列出了 lua 語言中的常用算術運算子,設定 a 的值為10,b 的值為 20 操作符描述例項 加法a b 輸出結果 30 ...
java讀寫檔案範例
public class readfromfile system.out.println ins.close catch ioexception e catch filenotfoundexception e try ins.close catch ioexception e catch filen...
lua 讀寫檔案
i o庫為檔案操作提供2個里乙個輸入庫和乙個輸出庫io.read io.write 該函式將所有引數按照順序寫到當前輸出檔案中 file name c 1.txt file name2 function write io.write hello world end write io.read 讀取當...