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

Lua 中的表达式和语句到底是什么? 这通常不是很清楚,因为有像 vararg 表达式 '...' 这样的东西,并且 nil/true/false 也是表达式。

而表访问是否也是表达式呢?这似乎是有道理的,因为你不能只写一个表访问,就期望它能运行。

点赞
用户7509065
用户7509065

完整的 Lua 语法 有正式的规范。stat 是语句,exp是表达式。无论如何,以下是您所询问的部分的概述:

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

基本上,表达式是任何能够计算出一个值的东西,语句是被执行并且可以通过分号分隔,通常每个语句都在它自己的行上。

经常会由于 vararg 表达式 '...' 和 nil/true/false 也是表达式而变得不那么清晰。

您对这些东西是表达式的说法是正确的。不过,这并不使得任何东西变得不清晰。

那么表格访问是表达式吗?

是的。它们被 var :: = Name | prefixexp ‘[’ exp ‘]’ | prefixexp ‘. ’ Name所覆盖,这是通过 prefixexp 的一部分来实现的,而 prefixexp 则是 exp 的一部分。

2020-11-10 06:53:48