首先,根據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...