在CSS问题上阅读this answer之后,我想知道:
在计算机科学中,单个恒定值是否被视为表达式?
换句话说,7px
表达式是什么?那么7
呢?
引用Wikipedia,强调我的:
编程语言中的表达式是一个或多个显式值,常量,变量,运算符和函数的组合,编程语言解释并计算产生另一个值。与数学表达式一样,这个过程称为评估。
引用MS Docs,强调我的:
表达式是一个或多个操作数和零个或多个运算符的序列,可以评估到单个值object,方法或命名空间。表达式可以包含字面值[...]。
这两者似乎都表明值是表达式。然而,人们可能会争辩说,价值不会被评估,因为它只是一个价值,因此没有资格。
引用Techopedia,强调我的:
[...]在结构方面,专家指出表达本身至少需要一个“操作数”或值,并且必须有一个或多个运算符。 [...]
这表明即使x
也没有资格作为表达,因为缺少一个或多个运算符。
答案 0 :(得分:2)
它取决于课程的确切定义,但在大多数定义中,表达式是递归定义的,常量是基础案例之一。所以,是的,字面值是表达式的特例。
您可以查看各种语言的语法,例如one for Python
如果您浏览语法,则会看到expr
可以是atom
,其中包含数字文字。当您考虑以下产品时,数字文字是Python表达式这一事实也很明显:
comparison: expr (comp_op expr)*
这是捕获像x < 7
这样的表达式的制作,如果7
不是有效表达式,则不会捕获这些表达式。
答案 1 :(得分:1)
在计算机科学中,是一个单一的,恒定的值被视为表达式吗?
完全取决于具体情况。例如,FORTRAN,BASIC和COBOL都有行号。这些是不是表达式的数值常量值。
在其他情境中(即使在这些语言中),数字常量可能是表达式。