Lua中的表达式包括数字常量、字符串常量、变量、一元和二元运算符、函数调用。还可以是非传统的函数定义和表构造。
Lua 中有这些基本表达式:
exp ::= prefixexp exp ::= nil | false | true exp ::= Number exp ::= String exp ::= function exp ::= tableconstructor exp ::= `...´ exp ::= exp binop exp exp ::= unop exp prefixexp ::= var | functioncall | `(´ exp `)´
算术运算符
二元运算符:+ - * / ^ (加减乘除幂)
一元运算符:- (负值)
这些运算符的操作数都是实数。
Lua 支持常见的数学运算操作符:二元操作 + (加法), - (减法),* (乘法), / (除法), % (取模),以及 ^ (幂);和一元操作 - (取负)。如果对数字操作,或是可以转换为数字的字符串(参见 §2.2.1),所有这些操作都依赖它通常的含义。幂操作可以对任何幂值都正常工作。比如, x^(-0.5) 将计算出 x 的平方根。取模操作被定义为
a % b == a - math.floor(a/b)*b
这就是说,其结果是商相对负无穷圆整后的余数。(译注:负数对正数取模的结果为正数)