国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

無涯教程-Lua - 文件I/O

這篇具有很好參考價(jià)值的文章主要介紹了無涯教程-Lua - 文件I/O。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

I/O庫用于在Lua中讀取和處理文件。 Lua中有兩種文件操作,即隱式(Implicit)和顯式(Explicit)操作。

對于以下示例,無涯教程將使用例文件test.lua,如下所示。

-- sample test.lua
-- sample2 test.lua

一個(gè)簡單的文件打開操作使用以下語句。

file=io.open (filename [, mode])

下表列出了各種文件模式。

Sr.No. Mode & Remark
1

" r"

只讀模式,是打開現(xiàn)有文件的默認(rèn)模式。

2

" w"

啟用寫模式,該模式將覆蓋現(xiàn)有文件或創(chuàng)建新文件。

3

" a"

追加模式,用于打開現(xiàn)有文件或創(chuàng)建要追加的新文件。

4

" r +"

現(xiàn)有文件的讀寫模式。

5

" w +"

如果文件存在或具有讀寫權(quán)限的新文件被刪除,則所有現(xiàn)有數(shù)據(jù)都將被刪除。

6

" a +"

啟用了讀取模式的追加模式可以打開現(xiàn)有文件或創(chuàng)建新文件。

隱式操作

隱式(Implicit)文件描述符使用標(biāo)準(zhǔn)輸入/輸出模式,或使用單個(gè)輸入和單個(gè)輸出文件。下面顯示了使用隱式文件描述符的示例。

-- Opens a file in read
file=io.open("test.lua", "r")

-- sets the default input file as test.lua
io.input(file)

-- prints the first line of the file
print(io.read())

-- closes the open file
io.close(file)

-- Opens a file in append mode
file=io.open("test.lua", "a")

-- sets the default output file as test.lua
io.output(file)

-- appends a word test to the last line of the file
io.write("-- End of the test.lua file")

-- closes the open file
io.close(file)

運(yùn)行該程序時(shí),將獲得test.lua文件第一行的輸出。

-- Sample test.lua

這是test.lua文件中語句的第一行。同樣,"-test.lua文件的結(jié)尾"行將附加到test.lua代碼的最后一行。

在上面的示例中,您可以看到使用io。上面的示例使用不帶可選參數(shù)的io.read()。可選參數(shù)可以是以下任意一個(gè)。

Sr.No. Mode & Remark
1

" * n"

從當(dāng)前文件位置讀取并返回一個(gè)數(shù)字(如果文件位置存在)或返回nil。

2

" * a"

從當(dāng)前文件位置返回文件的所有內(nèi)容。

3

" * l"

從當(dāng)前文件位置讀取該行,并將文件位置移至下一行。

4

number

讀取函數(shù)中指定的字節(jié)數(shù)。

其他常見的I/O方法包括

  • io.tmpfile()? ? ? ? ? ? ? ? ? ? ? ? ? ? ? - 返回用于讀取和寫入的臨時(shí)文件,一旦程序退出,該文件將被刪除。

  • io.type(file)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? - 根據(jù)輸入文件返回file,close file還是nil。

  • io.flush()? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?-? 清除默認(rèn)輸出緩沖區(qū)。

  • io.lines(optional file name)? - 提供通用的 for 循環(huán)迭代器,循環(huán)遍歷文件并最終關(guān)閉文件,以防萬一在循環(huán)末尾提供了文件名未關(guān)閉該文件。

顯式操作

無涯教程經(jīng)常使用顯式(Explicit)文件描述符,該描述符允許一次處理多個(gè)文件。這些函數(shù)與隱式文件描述符非常相似。在這里使用file:function_name而不是io.function_name。下面顯示了相同隱式文件描述符示例的文件版本的以下示例。

-- Opens a file in read mode
file=io.open("test.lua", "r")

-- prints the first line of the file
print(file:read())

-- closes the opened file
file:close()

-- Opens a file in append mode
file=io.open("test.lua", "a")

-- appends a word test to the last line of the file
file:write("--test")

-- closes the open file
file:close()

運(yùn)行程序時(shí),您將得到與隱式描述符示例類似的輸出。

-- Sample test.lua

外部描述符的所有文件打開模式和參數(shù)讀取方式與隱式文件描述符相同。

其他常見的文件方法包括

  • file:seek(optional whence,optional offset)? ? ?-? ?whence參數(shù)為" set"," cur"或" end"。從文件開頭設(shè)置具有更新文件位置的新文件指針。該函數(shù)的偏移量從零開始。如果第一個(gè)參數(shù)為" set",則從文件開頭開始偏移;如果它是" cur";或從文件末尾開始(如果是" end")。默認(rèn)參數(shù)值為" cur"和0,因此可以通過不帶參數(shù)調(diào)用此函數(shù)來獲取當(dāng)前文件位置。

  • file:flush()? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?-? ?清除默認(rèn)輸出緩沖區(qū)。

  • io.lines(optional file name)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?-? ?提供 for 循環(huán)迭代器,循環(huán)遍歷文件并最終關(guān)閉文件,以防萬一在循環(huán)末尾提供了文件名未關(guān)閉該文件。

下面顯示了使用seek方法的示例。它使光標(biāo)從文件結(jié)尾之前的25個(gè)位置偏移。讀取函數(shù)從搜索位置打印文件的其余部分。

-- Opens a file in read
file=io.open("test.lua", "r")

file:seek("end",-25)
print(file:read("*a"))

-- closes the opened file
file:close()

您將獲得類似于以下內(nèi)容的輸出。

sample2 test.lua
--test

您可以試玩所有不同的模式和參數(shù),以了解Lua文件操作的全部函數(shù)。

Lua - 文件I/O - 無涯教程網(wǎng)無涯教程網(wǎng)提供I/O庫用于在Lua中讀取和處理文件。 Lua中有兩種文件操作,即隱式(Implicit )和顯式(Ex...https://www.learnfk.com/lua/lua-file-io.html文章來源地址http://www.zghlxwxcb.cn/news/detail-631459.html

到了這里,關(guān)于無涯教程-Lua - 文件I/O的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 無涯教程-Lua - 簡介

    Lua是一種輕量語言,它的官方版本只包括一個(gè)精簡的核心和最基本的庫。這使得Lua體積小、啟動(dòng)速度快。它用ANSI C語言編寫并以源代碼形式開放,編譯后僅僅一百余K,可以很方便的嵌入別的程序里。和許多“大而全”的語言不一樣,網(wǎng)絡(luò)通信、圖形界面等都沒有默認(rèn)提供。但

    2024年02月14日
    瀏覽(21)
  • 無涯教程-Lua - Arrays(數(shù)組)

    數(shù)組是對象的有序排列,可以是包含行集合的一維數(shù)組,也可以是包含多行和多列的多維數(shù)組。 在Lua中,數(shù)組是使用帶有整數(shù)的索引表實(shí)現(xiàn)的。數(shù)組的大小不是固定的,并且可以根據(jù)無涯教程的要求(取決于內(nèi)存限制)來增長。 一維數(shù)組可以使用簡單的表結(jié)構(gòu)表示,并且可以使

    2024年02月14日
    瀏覽(22)
  • 無涯教程-Lua - Modules(模塊)

    模塊就像可以使用 require 加載的庫,并且具有包含 Table 的單個(gè)全局名稱,該模塊可以包含許多函數(shù)和變量。 其中一些模塊示例如下。 讓無涯教程考慮一個(gè)簡單的示例,其中一個(gè)函數(shù)具有數(shù)學(xué)函數(shù)。將此模塊稱為mymath,文件名為mymath.lua。文件內(nèi)容如下- 現(xiàn)在,為了在另一個(gè)文

    2024年02月14日
    瀏覽(21)
  • 無涯教程-Lua - Iterators(迭代器)

    迭代器是一種構(gòu)造,使您可以遍歷所謂的集合或集合的元素。在Lua中,這些集合通常引用表,這些表用于創(chuàng)建各種數(shù)據(jù)結(jié)構(gòu)(如數(shù)組)。 通用的 for 迭代器提供集合中每個(gè)元素的鍵值對。下面給出一個(gè)簡單的示例。 當(dāng)無涯教程運(yùn)行上面的代碼時(shí),將獲得以下輸出- 上面的示例使

    2024年02月14日
    瀏覽(44)
  • 無涯教程-Lua - while語句函數(shù)

    只要給定條件為真,Lua編程語言中的 while 循環(huán)語句就會(huì)重復(fù)執(zhí)行目標(biāo)語句。 Lua編程語言中 while 循環(huán)的語法如下- 在這里,需要注意的關(guān)鍵是 while 循環(huán)可能根本不執(zhí)行。當(dāng)測試條件并且輸出為false時(shí),將跳過循環(huán)主體,并執(zhí)行 while 循環(huán)之后的第一條語句。 構(gòu)建并執(zhí)行上述代碼

    2024年02月14日
    瀏覽(24)
  • 無涯教程-Lua - nested語句函數(shù)

    Lua編程語言允許在另一個(gè)循環(huán)中使用一個(gè)循環(huán)。以下部分顯示了一些示例來說明這一概念。 Lua中嵌套for循環(huán)語句的語法如下- Lua編程語言中的嵌套while循環(huán)語句的語法如下- Lua編程語言中的嵌套重復(fù)...直到循環(huán)語句的語法如下- 關(guān)于循環(huán)嵌套的最后一點(diǎn)是,您可以將任何類型的

    2024年02月14日
    瀏覽(16)
  • 無涯教程-Lua - for語句函數(shù)

    for 循環(huán)是一種重復(fù)控制結(jié)構(gòu),可讓您有效地編寫需要執(zhí)行特定次數(shù)的循環(huán)。 Lua編程語言中 for 循環(huán)的語法如下- 這是 for 循環(huán)中的控制流程- 首先執(zhí)行 init 步驟,并且僅執(zhí)行一次。此步驟使您可以聲明和初始化任何循環(huán)控制變量。 接下來是max/min。這是循環(huán)繼續(xù)執(zhí)行之前的最大

    2024年02月14日
    瀏覽(22)
  • 無涯教程-Lua - 嵌套if語句函數(shù)

    在Lua編程中,您可以在另一個(gè) if or else if 語句中使用一個(gè) if or else if 語句。 嵌套if 語句的語法如下- 您可以像嵌套 if 語句一樣,嵌套 else if ... else 。 當(dāng)您構(gòu)建并運(yùn)行以上代碼時(shí),它將產(chǎn)生以下輸出。 Lua 中的 嵌套if語句函數(shù) - 無涯教程網(wǎng) 無涯教程網(wǎng)提供在Lua編程中,您可以

    2024年02月14日
    瀏覽(18)
  • 【Lua】Lua包管理器-LuaRocks的使用教程

    lua的包管理工具是: LuaRocks 。本文內(nèi)容基于 MacOS 系統(tǒng)。 參考官方文檔:Using LuaRocks 可用的模塊在luarocks官網(wǎng)搜索即可。例如現(xiàn)在我們安裝一個(gè) luasocket 模塊。 注意 :不知道是 luarocks 故意為之,還是因?yàn)橛?bug 。在 luarocks 的安裝目錄(以及任意子目錄)執(zhí)行 luarocks 命令,和在其

    2024年02月14日
    瀏覽(18)
  • Lua之Lua源文件批量轉(zhuǎn)換為luac字節(jié)碼文件

    準(zhǔn)備的工具:luac.exe? CSDN https://mp.csdn.net/mp_download/manage/download/UpDetailed Unity版:

    2024年02月11日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包