Lua1 0使用與研究 iolib

2021-06-08 17:32:20 字數 1282 閱讀 6027

首先,根據iolib.c了解到 iolib 註冊的函式有

readfrom

writeto

read

write

execute

remove

在這裡,

readfrom,

writeto是可以指定輸入輸出檔案的,

我為了方便,並沒有使用這兩個介面進行測試,直接使用了預設的stdin和stdout進行io測試。

還記得..是連線符嗎?

write("sin (3) = "..sin(3).."\n")

會在終端上輸出sin (3) = 0.14112

注意write介面不會自動增加換行符。例如下面的測試,如果想寫入乙個數字,然後換行,只能這樣寫。

write("666.123","f<10.3")

write("\r\n")

write("666.123","f>10.3")

write("\r\n")

write("666.123","f|10.3")

write("\r\n")

上面的f>,

ff|叫做格式化寫。看一下輸出就知道什麼意思了。

這個的f可不是format的意思,是float的意思,10表示輸入字串的寬度,.3表示小數點後的位數

覺得lua**神奇的人,看看對應的c實現,是不是覺得也很容易。

如果想給寫指令碼的人提供方面,用你寫的c去實現吧。

格式化讀取

readtest = read("f5");

print("readret= "..readtest)

無格式化讀取

readtest = read();

print("readret= "..readtest)

如果你輸入空格,回車後,程式一直等待輸入。因為lua實現會忽略前面輸入的所有空格

另外write和read基於現在的功能,還是有優化空間的,畢竟是1.0版本。

大家可以測試一下。

如何實現乙個lua指令碼的迴圈執行呢,下面這個**可以做到

loop.lua

print("i am looping")

execute('./lua loop.lua')

然後在終端輸入  ./lua loop.lua

,loop.lua這個指令碼將被反覆執行,直到你按下ctrl+c

看一下execute對應的c**,大家就都清楚是怎麼回事了。

Lua1 0 資料結構

出處 先來看一下 lua 中常用的幾個資料結構 先看一下 opcode.h 中的 type 列舉是 lua 中的幾種資料型別。1 typedef enum 2 type view code value 聯合體是 lua 的資料型別定義。1 typedef union 2 value view cod...

Win10下使用Mingw編譯Lua

lua 葡萄牙語月亮 是一門簡潔 輕量 可擴充套件的指令碼語言,官方版本只包括乙個精簡的核心和最基本的庫,使得其體積小 啟動速度快,從而特別適合嵌入到其它程式裡。它由巴西里約熱內盧 pontifical catholic 大學的 puc rio 團隊 開發。lua 是乙個 自由軟體,廣泛應用於世界上...

redis與lua指令碼的結合使用

上篇介紹了lua的指令碼的基本資料型別,以及函式定義,字串常規方法,表,執行緒等等,今天為大家介紹redis如何結合lua指令碼使用 我今天,先做簡單的介紹,就不帶大家安裝了,直接在專案中操作.首先看來看乙個加單的hell word jedis jedis new jedis 127.0.0.1 6...