比如把數字變成string怎么寫?
LUA數據轉換問題:
在LUA里面所以的數據類型都會內部轉化為double型,如果需要顯示一個double型可以這樣做:
LUA:
local num=3.14;
printf(totring num)。
當Lua通過call或 pcall函數執行Redis命令的時候,命令的返回值會被轉換成Lua數據結構。 同樣地,當Lua腳本在Redis內置的解釋器里運行時,Lua 腳本的返回值也會被轉換成Redis協議(protocol),然后由EVAL將值返回給客戶端。
數據類型之間轉換遵循這樣一個設計原則:如果將一個Redis值轉換成Lua值,之后再將轉換所得的Lua值轉換回Redis值,那么這個轉換所得的Redis值應該和最初時的Redis值一樣。
換句話說,Lua類型和Redis類型之間存在著一一對應的轉換關系。
lua中整數和浮點數之間沒有什么區別。因此,我們始終Lua的數字轉換成整數的回復,這樣將舍去小數部分。如果你想從Lua返回一個浮點數,你應該將它作為一個字符串(見比如ZSCORE命令)。
There is no simple way to have nils inside Lua arrays, this is a result of Lua table semantics, so when Redis converts a Lua array into Redis protocol the conversion is stopped if a nil is encountered.
Lua是動態類型語言,所以變量沒有類型,僅值有類型。值可以被存儲在變量中,作為參數傳遞,并作為結果返回。
在Lua中雖然沒有變量的數據類型,但有類型的值。