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。由于计数控制循环的存在,这将执行五次。