啟航Lua之路

2021-08-18 08:34:35 字數 2823 閱讀 2620

lua支援全域性變數和區域性變數的概念

全域性變數:直接定義變數名,並賦值

區域性變數:使用local關鍵字進行定義。

變數命名規則:遵循c/c++語言中的變數命名規則

避免定義下劃線開頭並跟著大寫字母的變數名

lua關鍵字不能用作變數名

lua中的變數使用:

可以在一行中定義多個變數,盡量在定義變數時賦值

定義變數時不需要宣告型別,變數具有動態型別

未賦值的變數,其預設值為nil(空值)

變數使用的注意事項:

區域性變數的作用域僅限於塊中(if、 else、while、 do 、 function )

在lua中盡可能使用區域性變數(訪問速度快)(在lua直譯器中需要查詢全域性變數)

當不再使用全域性變數時,用nil進行賦值

注意:

doend 

相當於

a, b = 1, 2, 3;

foo = "global";

do local x, y = a, b;

local foo = foo;

print("foo = ", foo);

foo = "local";

print("foo = ", foo);

print("x = ", x);

print("y = ", y);

print("a = ", a);

print("b = ", b);

endprint("\n");

print("foo = ", foo);

print("x = ", x);

print("y = ", y);

print("a = ", a);

print("b = ", b);

a, b, foo = nil;

執行結果如下:

lua直譯器以程式塊的方式處理lua**

每一段可執行

的lua**都可以成為**塊

乙個程式塊由一條或者多條lua語句構成:

簡單的程式塊:一條語句

複雜的程式塊:多條不同語句及函式定義構成

注釋(單行注釋/多行注釋)單行注釋: --

多行注釋: --[[ ......]]

解注釋操作:

enable code segment with a '-' //新增「-後即可恢復注釋效果
多行注釋技巧:

--[[

print("willwilling")

--]]

a, b = 1, 2, 3;

foo = "global";

--[[do//enable code segment with a '-' //新增「-後即可恢復注釋效果local x, y = a, b;

local foo = foo;

print("foo = ", foo);

foo = "local";

print("foo = ", foo);

print("x = ", x);

print("y = ", y);

print("a = ", a);

print("b = ", b);

end--]]

print("\n");

print("foo = ", foo);

print("x = ", x);

print("y = ", y);

print("a = ", a);

print("b = ", b);

a, b, foo = nil;

執行結果如下:

小結:lua的變數名遵循c/c++語言變數名的規則

lua可以在一行定義多個變數,且不需要宣告型別

lua程式中盡量使用區域性變數,效率更高

lua程式塊指的是一條或者多條合法的可執行語句

lua支援單行注釋和多行注釋

第3課 啟航Lua之路

1 變數 全域性變數和區域性變數 lua中支援全域性變數和區域性變數的概念 a 1 用 結束當前語句 可選 local b 2 2 變數的命名規則 遵循 c c 語言中的變數命名規則 可以是由任意字母 數字和下劃線構成的字串,但不能以數字開頭,且區分大小寫。避免定義下劃線開頭並跟著大寫字母的變數名,...

架構師進擊之路一 啟航

小z最近被部門老闆委任為架構師,小z表示很迷茫,以為自覺能力還沒有達到成為架構師的要求,不過老闆說你行,不行也得行,所以小z最近在學習怎麼成為乙個及格的架構師。就從這裡啟航吧。首先小z今天看到一篇談論程式設計師 技術主管與架構師的文章,小z受到了一定的啟發與激勵 傳送門 其中談論到的技術主管和架構師...

Lua學習之路(十) Lua 陣列

陣列,就是相同資料型別的元素按一定順序排列的集合,可以是一維陣列和多維陣列。lua 陣列的索引鍵值可以使用整數表示,陣列的大小不是固定的。一維陣列是最簡單的陣列,其邏輯結構是線性表。一維陣列可以用for迴圈出陣列中的元素,如下例項 array fori 0,2do print array i end...