Lua 中的表达式和语句到底是什么?

What exactly are expressions, and statements in Lua?

Lua 中的表达式和语句到底是什么? 由于 vararg 表达式 '...' 和 nil/true/false 也是表达式,它通常不是那么清楚。

和table是访问表达式吗?这似乎是有道理的,因为你不能只写一个 table 访问文件并期待它 运行.

The Complete Syntax of Lua 有正式规范。 stat 是语句,exp 是表达式。不管怎样,这里是您所询问的特定位的摘要:

what really are expressions, and statements in Lua?

基本上,表达式是任何求值为一个值的东西,语句是被执行的东西,可以用分号分隔,通常每一个都在自己的行上。

its often not that clear due to things like the vararg expression '...' and that nil/true/false are also expressions.

关于这些东西是表达式,你是对的。不过,它并没有让任何事情变得不清楚。

and are table accesses expressions?

是的。它们被 var ::= Name | prefixexp ‘[’ exp ‘]’ | prefixexp ‘.’ Name 覆盖,它是 exp 的一部分,通过 prefixexp