Lua基本語法 Redis使用Lua指令碼

2021-08-17 07:29:25 字數 2090 閱讀 3670

lua 學習目標是 能寫一些 lua指令碼。

redis 使用lua 5.1 版本。

lua是動態型別語言。

1.資料型別

空 nil  沒有賦值的變數或表的字段 都是nil

布林 boolean   包含 true  和 false

字串 string  如 'a'  或 "a"

表 table  既可以是 陣列 又可以是 字典

函式 function 可以 儲存在變數中, 作為函式引數,或返回結果

2. 變數

redis指令碼中 不能使用全域性變數,只允許使用區域性變數 防止指令碼之間相互影響。

local c

local d = 1

local e,f

local say_hi = function()

print 'hi'

end變數名 非數字開頭,只能包含字母,數字,下劃線,區分大小寫

local x= 10

if true then

local x= x+1

print(x)

dolocal x = x +1

print(x)

endprint(x)

endprint(x)

3. 注釋 

--多行注釋

4. 賦值

local a,b = 1, 2 

5. 操作符

(1) 數學 + - * / % -  ^(冪運算)

(2) ==   ~=   <  > <= >=

(3)  邏輯操作符

not and  or

(4). 連線操作符

print("hello" .. 'world')

(5). 取長度

print(#'hello')

6. if語句

if 條件表示式 then

else if 條件表示式 then

else

end7 迴圈

while 條件表示式 do

endrepeat

until 條件表示式

for有兩種方式

for 變數 = 初值 ,終值, 步長 do

語句塊end

其中步長,可以省略預設 1  如:

local sum = 0

for i = 1, 100 do

sum = sum + i

end--注意 i  是區域性變數 雖然 沒有local

for 通用形式如下:

8. 表型別

a = {}

a[1] = "bob"

a[2] = "jeff"

注意: lua 約定陣列的索引從 1開始

for index, value in ipairs(a) do

print(index)

print(value)

end也可以如下:

for i = 1, #a do

print(i)

print(a[i])

endpairs  來遍歷非陣列 (字典) 的錶值

9。 函式

local function square (...)

local argv =

for(i = 1, #argv do

argv[1] = argv[i] * argv[i]

endreturn unpack(argv)    --相當於 return argv[1], argv[2],argv[3]

enda,b,c = square(1,2,3)

return 和 break語句 必須是語句塊 中的最後乙個語句, 後面只能是 end  , else , until.  如果希望 在語句中間使用  ,則 可以使用 人為的 do  和 end 將其包圍

標準庫base

string

table

math

debug

redis支援大部分標準庫

其他庫cjson   

cmsgpack  

redis  包含著兩個庫 ,

對redis來說,通常不應該在指令碼中執行大量耗時的運算,因為reids是單程序單執行緒執行,而程式能多程序多執行緒執行。

lua基本語法

第乙個字母可以是大小寫字母或者下劃線,其他位除上述之外可以是數字 mohd zara abc move name a 123 myname50 temp j a23b9 retval and break do else elseif end false for function if in loca...

Lua 基本語法

lua 提供了互動式程式設計模式。我們可以在命令列中輸入程式並立即檢視效果。lua 互動式程式設計模式可以通過命令 lua i 或 lua 來啟用 root gitlab lua lua i 在命令列中,輸入以下命令,按下回車鍵,輸出結果如下 print hello world hello worl...

lua 基本語法

學習lua,首先應該了解熱更新。c 不能直接熱更新,原因為 c 指令碼在執行之前必須經過編譯。編寫lua 可使用luaforwindows軟體,安裝完成,開啟d lua 5.1 scite scite,即可進行程式設計。lua中的8中資料型別 資料型別 描述nil 這個最簡單,只有值nil屬於該類,...