Lua 程式設計/語法術語表
| 一位華夏公益教科書使用者建議將本書或章節與Lua 程式設計/詞彙表合併。 請在討論頁面上討論是否應該進行合併。 |
這是一個關於語法術語的詞彙表。它面向 Lua。
- 表示式
- 可以求值的語法元素
- 語句
- 可以執行的語法元素
- 運算元
- 表示式
- 函式引數
- 表示式
- 函式引數
- 識別符號
- 函式呼叫
- 一個既可以作為語句又可以作為表示式的語法元素。包含一個函式表示式(一個求值為函式的表示式;通常只是一個函式的識別符號),並且可以包含一個或多個引數。
- 表索引
- 表示式
- 表索引
- 由表表達式(一個求值為表的表示式,通常是表的識別符號)和索引組成的表示式
- 運算子
- 一個語法元素,與一個(一元運算子)、兩個(二元運算子)、三個(三元運算子)或更多個運算元組合在一起,形成一個表示式
- 條件
- 表示式(在某些語言中,此表示式必須求值為布林值)
- 函式定義
- 包含函式名的語句,以及匿名函式(在函式定義中未給函式命名)時的表示式
- 表建構函式
- 建立一個表的表示式。可以包含表示式(值)或表示式對(鍵和值)。
賦值中的 = 符號不是運算子,因為識別符號不是運算元或表示式。
函式呼叫既可以作為語句,也可以作為表示式使用。它們是語句,因為它們可以執行並放在自己的行上,但它們也是表示式,因為它們可以求值(它們可以返回值)。這就是為什麼你可以將函式呼叫放在自己的行上,也可以在操作中使用它。在某些語言中,如果賦值返回一個值,則賦值也可以用作語句或表示式。
根據上述定義,表示式可以非常複雜,因為它們可以包含其他表示式。語句可以包含表示式(例如條件語句中的條件),但也可以包含其他語句(例如計數控制迴圈(也稱為 for 迴圈)的主體)。語句也可以包含識別符號。
for i = 1, 5 do
var = 4 + foo("this is a " .. {4, 3, "snow" .. "ball"}[3])
end
在上面的示例中,有一個計數控制語句,它包含一個識別符號 (i)、兩個表示式 (1 和 5) 和一個語句(do 關鍵字和 end 關鍵字之間的行)。
計數控制語句中包含的語句是一個賦值語句,它包含一個識別符號 (var) 和一個帶有兩個運算元 (4 和對 foo 函式的呼叫,帶有一些引數) 的運算子。運算子是加法運算子,它有兩個運算元,所以它是二元運算子。
第二個運算元是一個函式呼叫。在該函式呼叫的引數中有一個表示式。該表示式是二元減號運算子 (-,如 2 - 1 ; 還有一個一元減號運算子,如 -5) 與兩個運算元 "this is a " 和表索引的組合。表索引包含一個表建構函式和一個索引 (3)。在表建構函式中,有三個表示式,其中一個是由連線運算子與兩個運算元組合而成的。表索引求值為 "snowball"。此結果與 "this is a " 連線在一起,得到 "this is a snowball",它被髮送到 foo 函式作為引數。然後,此函式返回一個值,該值加到數字 4 上,並將結果分配給變數 var。由於計數控制迴圈的存在,這將執行五次。