表达式与赋值:深入解析
在编程中,表达式和赋值是基础且重要的概念。本文将详细探讨表达式的相关特性,包括表达式重排可能引发的问题、函数副作用、特殊表达式的类型及使用规则,以及赋值操作。
表达式重排与错误
表达式的重排可能会导致错误,而程序员原本可能认为特定的计算顺序可以避免这些错误。例如,在表示 IF 测试条件的逻辑表达式中:
if (present(x) .and. x > 0) then
条件 x > 0 可能会先被计算,如果 x 不存在,就会导致错误。
函数副作用与部分求值
一般情况下,函数允许有副作用,即函数调用后程序的状态可能会发生改变。但也有一些例外:
- 纯过程 :纯过程不允许有任何副作用。
- 部分副作用限制 :语句中的函数(或定义的操作)不得影响或受同一语句中任何实体变化的影响。不过,像 IF 语句或 WHERE 语句等有嵌套语句的情况除外。例如:
IF (F (I))
A = I
WHERE (G (I))
B = I
这些语句是有效的,即使函数 F 和 G 会改变实际参
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



