Lua (一)語法基礎

2021-10-01 09:57:42 字數 3723 閱讀 7627

表 :

a3 = {}

for i = 1, 3 do

a3[i] = i

enda3["key"] = "val"

print(a3["key"])

print(a3["none"])

for key, value in pairs(a3) do

print("key-value: " .. key .. "--" .. value)

end

函式:

function test1(n)

if n == 0 then

return 1;

else

return n * test1(n - 1)

end

endprint(test1(3))

test2 = test1(3);

print(test2)

3.匿名函式 

-- 匿名函式

function testfun(tab,fun)

for k ,v in pairs(tab) do

print(fun(k,v));

endendlocal tab=;

testfun(tab,

function(key,val)--匿名函式

4.變數:

-- 變數 應該盡可能的使用區域性變數,有兩個好處:

-- 1. 避免命名衝突。

-- 2. 訪問區域性變數的速度比全域性變數更快。

a = 5 --全域性變數

local b = 6 -- 區域性變數

a,b = b,a --lua 先計算右邊的值在進行賦值操作

print(a.." - " .. b)

--變數賦值

-- a. 變數個數 > 值的個數 按變數個數補足nil

-- b. 變數個數 < 值的個數 多餘的值會被忽略

a, b, c = 0, 1

print(a,b,c) --> 0 1 nil

a, b = a+1, b+1, b+2 -- value of b+2 is ignored

print(a,b) --> 1 2

a, b, c = 0

print(a,b,c) --> 0 nil nil

a, b, c = 0, 0, 0 -->如果要對多個變數賦值必須依次對每個變數賦值。

print(a,b,c) --> 0 0 0

a, b = a+1, a+1 --> lua 對多個變數同時賦值,不會進行變數傳遞,僅做值傳遞

print(a,b) --> 1 1

-- 索引

-- t[i]

-- t.i -- 當索引為字串型別時的一種簡化寫法

-- gettable_event(t,i) -- 採用索引訪問本質上是乙個類似這樣的函式呼叫

5. 迴圈

while迴圈

--1.while 迴圈

local a = 3

while a > 0 do

print("while迴圈正在執行 " .. "當前a值為: " .. a)

for迴圈

-- 2.for迴圈 

-- 數值for迴圈

-- var 從 exp1 變化到 exp2,每次變化以 exp3 為步長遞增 var,

-- 並執行一次 "執行體"。exp3 是可選的,如果不指定,預設為1。

for i = 1, 10, 3 do

print(i)

end-- 比如這裡的的f(x)只會在迴圈開始前執行一次,其結果用在後面的迴圈中。

function f(x)

print("for的三個表示式在迴圈開始前一次性求值,以後不再進行求值。")

return x*2

endfor i = 1, f(3) do

print(i)

end--泛型for迴圈

repeat..until迴圈

--repeat..until 迴圈

local a = 1;

repeat

print(a)

a = a + 1;

until (a>3)

迴圈巢狀:

--迴圈巢狀

goto語句

-- goto 語句

-- lua 語言中的 goto 語句允許將控制流程無條件地轉到被標記的語句處。

local a = 1

::label:: print("--- goto label ---")

a = a+1

if a < 3 then

goto label -- a 小於 3 的時候跳轉到標籤 label

-- goto,實現 continue 的功能:

Kt學習筆記(一) 語法基礎

二 基本資料型別 1 1 定義變數 var n int 30 定義變數 var ok int 定義乙個變數,沒有進行初始化 val m int 20 定義乙個常量 不需要設定m ok 40 對變數賦值 m 40 編譯出錯 var cannot be reassigned var k 100 自動推導...

lua 基礎語法

print hello wc hahaha a 10 全域性變數 local b tostring a.2 區域性變數 dofile test.lua print type b local c nil local d wwe dad print string.sub d,2,3 獲取子串 lua從1...

python學習筆記一(語法)

持續更新中1 list,tuple,dict,set dict為字典,可以主動修改key,定義方式如下 a 1,b 2,c 4,5 set為不可存在重複選項的list 2 函式接收可變引數可使用如下方法 def calc numbers sum 0 for i in numbers sum i i ...