Lua快速入門總結

2021-07-10 09:16:38 字數 3249 閱讀 4169

lua語言15分鐘快速入門

1u = [[兩個方括號

用於 多行的字串.]]

2t = nil – 未定義的t

3通過do/end等關鍵字標識出程式塊

while num  < 50

do num = num -1 ;

end;

3

~= 表示不等於

== 可用於字串比較

4預設全域性變數

定義全域性變數通過

local關鍵字

5.. 用於連線字串

6未定義的變數返回nil

foo = anunknowvariable – foo值等於nil

只有nil和false被判為false,0和」「被判為true

7or和and是可短路的.

a?b:c的操作:

ans = aboolvalue and 「yes」 or 「no」

8使用」100,1,-1」表示遞減的範圍(begin,end,step)

for j = 100,1,-1

do fredsum = fredsum + j

end

9

repeat

print(「the way of the future」)

num = num -1

until num == 0

10定義函式

function

fib(n)

if n < 2

then

return

1end

return fib(n - 1) + fib(n - 1)

end

11

支援閉包及匿名函式

function

adder

(x) return

function

(y)

return x + y

end

12

返回值,函式呼叫,複製都可以使用長度不匹配的list

不匹配的接收方會被賦值為nil

不匹配的傳送方會被忽略

x,y,z = 1,2,3,4 –> x=1,y=2,z=3,4被丟棄

13

function bar(a,b,c)

print(a,b,c)

return 4,8,15,16,23,42

endx,y = bar(「zaphod」) –> prints」zaphod nil nil」,x=4,y=8,後續被丟棄

14函式可以是區域性的或者全域性的

function

f(x)

return x * x

end

等價於

f = function

(x) return x * x

end

local

function

g(x)

return

math.sin(x)

end

等價於

local g; 

g = function

(x)

return

math.sin(x)

end

15

三角函式以弧度作為單位

乙個字串作為引數時,可以不用括號

print 「hello」

16

table是lua唯一的資料結構

是關聯陣列,通過雜湊表查詢

key預設是string型別

t = 

print

(t.key1)

列印value1

t.key2 = nil

刪除key2

17

可以使用任意非nil值作為key

字串和數字是可用性較好的key

18只需要乙個table做引數的呼叫不需要使用括號

function

h(x)

print(x.key1)

end

h –> 列印sonmi~452

19

遍歷table

for key,val inparis(u) do

print(key,val)

end

20

_g是特殊的table,用於儲存所有的全域性變數

print(_g[「-g」] == _g) –> 列印」true」

21

table按照list/array的方式使用

list的迭代方式會隱含新增int的key

v =

for i=1,#v do

print(v[i])

end

「#v(table名)是list的長度」

list的索引從1開始(sad臉

list並非真正的型別,還是乙個table(通過連續的整數key實現)

22元表和元方法

table允許重定義table的一些操作

**太多懶得貼…自己去找吧(傲嬌臉

23類風格的table和繼承

**更多了…自己找去吧(哼

24模組

local mod = require(「mod」) – 執行mod.lua

等價於

local

mod = (function()

ofmod.lua>

end)()

require用於包含包含模組(針對沒有被快取的情況)

require返回的值會被快取,所以不管require多少次,檔案只會被呼叫一次

25dofile和require類似,只是不做快取,因此每次dofile檔案都會被呼叫

26loadfile載入乙個lua檔案,但並不執行.

loadstring是loadfile的字串版本

lua快速入門

1 開發環境 2 lua副檔名 lua 3 快速入門 1 helloworld print hello world print hello world 注釋 多行注釋 for i 1,7,1 do print revdays i end 2 資料型別 nil booleans numbers str...

rabbitMq快速入門總結

一.管理後台登陸 http ip 15672 使用者名稱 預設 guest 密碼 預設 guest 二.五種工作模式 簡單模式 無交換機 work 工作佇列模式 routing 路由模式 交換機type direct headers public 發布訂閱模式 交換機type fanout topi...

Lua 快速排序

開始學習lua,打算先用lua來寫一下排序演算法,這是個開始。希望能堅持下去。先是快排 如下 就不解釋了邏輯和c 一樣只是語法格式問題 myarr function quicksort arr,left,right index arr left l left r right while l r do...