第3課 起航Lua之路

2022-08-10 16:57:17 字數 2063 閱讀 4664

-變數(全域性變數/區域性變數)

-程式塊(chunk)

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

1、lua支援全域性變數區域性變數的概念。

2、變數命名規則

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

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

- lua關鍵字不能用作變數名。

例子

s = "lua"; (✔)

i = 1; (✔)

_float_ = 0.01; (✔)

pi = 3.14; (✔)

if = "err"; (✘  if是關鍵字)

_err = 0.1; (✘ )

識別符號 = 1;(✘ 不能以漢字作為變數名)

_pi_ = 3.14; (✘)

3、lua中的變數使用

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

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

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

示例:

a = 1;    -->  a = 1

b, c = "2";  -->  b = "2"; c = nil;

d = 3, 4;   -->  d = 3;

4、變數使用的注意事項

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

- 在lua中盡可能使用區域性變數(訪問速度更快),因為每個全域性變數lua都會有記錄,記錄多了查詢起來就慢了。

- 當不再使用全域性變數的時候,使用nil進行賦值,使得lua編譯器知道這些全域性變數不使用了,可以進行銷毀。

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

- 每一段可執行的lua**都可以稱為程式塊。

-乙個程式塊一條或多條lua語句構成。

簡單的程式塊:一條語句

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

下面的語句是程式塊嗎?

function f(a, b)

return a*a - b*b;

end(✔)// function函式是語句塊。

a = 1 b = 2

a = a*a - b*b

(✔) // a = 1 b = 2之間可以沒有分號。

local a = a;

(✔)// 第二個a肯定是全域性變數,然而沒有定義,那麼為 nil。

doreturn 1;

(✘)  // 沒有end 結束塊

- 單行注釋: --

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

多行注釋技巧:

--[[

print("hello!");

--]]

如上所示,可以注釋掉print列印語句,如果我們又想還原的話,不需要去掉--[[ ...--]] ,而只需要在--[[前加乙個- ,變成 ---[[就可以取消注釋了。特別方便。

1.lua的變數名遵循c/c++語言變數名的規則

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

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

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

5.lua支援單行注釋多行注釋

第3課 啟航Lua之路

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

第3課 Java 變數

什麼是變數 1 宣告資訊儲存位置和所占用空間,變數就是用於計算機儲存資訊 2 變數宣告方法 int age 10 int是變數型別,age未變數名 為賦值號,10為陣列 語句結束符 計算機按照int來分配足夠的空間,age計算機儲存位置 3 變數型別 4 變數命名規範 1 以字母,下劃線,元素開頭 ...

第3課 黑客術語

1 什麼是肉雞?對於剛剛接觸網路技術的菜鳥們,看到文章後,裡面是不是常常提到肉雞?其實肉雞這個名詞很好理解,簡單理解為具有可以被入侵的機子也就是 被入侵者 可以說是受害者,入侵者不會便宜肉雞的 一般肉雞是存有漏洞,才會被入侵的,被種了木馬也是肉雞,相信你有一點理解了吧,在以後的入侵中,肉雞 這個名詞...