<程序开发中什么是表达式?如何理解呢?-生活常识-春风百科
> 生活常识 > 列表
程序开发中什么是表达式?如何理解呢?
时间:2024-12-23 19:00:38
答案

表达式就是一段对逻辑代码的表示。比如一下:

exp ::= prefixexp

exp ::= nil | false | true

exp ::= Numeral

exp ::= LiteralString

exp ::= functiondef

exp ::= tableconstructor

exp ::= ‘...’

exp ::= exp binop exp

exp ::= unop exp

prefixexp ::= var | functioncall | ‘(’ exp ‘)’

函数调用和可变参数表达式都可以放在多重返回值中。 如果函数调用被当作一条语句, 其返回值列表被调整为零个元素,即抛弃所有的返回值。 如果表达式被用于表达式列表的最后(或是唯一的)一个元素, 那么不会做任何调整(除非表达式被括号括起来)。 在其它情况下, Lua 都会把结果调整为一个元素置入表达式列表中, 即保留第一个结果而忽略之后的所有值,或是在没有结果时, 补单个 nil。

被括号括起来的表达式永远被当作一个值。 所以, (f(x,y,z)) 即使 f 返回多个值, 这个表达式永远是一个单一值。 ((f(x,y,z)) 的值是 f 返回的第一个值。 如果 f 不返回值的话,那么它的值就是 nil 。)被括号括起来的表达式永远被当作一个值。 所以, (f(x,y,z)) 即使 f 返回多个值, 这个表达式永远是一个单一值。 ((f(x,y,z)) 的值是 f 返回的第一个值。 如果 f 不返回值的话,那么它的值就是 nil 。)

被括号括起来的表达式永远被当作一个值。 所以, (f(x,y,z)) 即使 f 返回多个值, 这个表达式永远是一个单一值。 ((f(x,y,z)) 的值是 f 返回的第一个值。 如果 f 不返回值的话,那么它的值就是 nil 。)被括号括起来的表达式永远被当作一个值。 所以, (f(x,y,z)) 即使 f 返回多个值, 这个表达式永远是一个单一值。 ((f(x,y,z)) 的值是 f 返回的第一个值。 如果 f 不返回值的话,那么它的值就是 nil 。)

推荐
© 2024 春风百科