Tag: 参照 透明

纯度vs参考透明度

这些术语似乎有不同的定义 ,但我总是想到一个意味着另一个; 我不能想到任何情况下,一个expression是透明的,但不是纯粹的,反之亦然。 维基百科针对这些概念维护不同的文章,并说: 从参考透明度 : 如果expression式中涉及的所有函数都是纯函数,那么expression式就是透明的。 另外,如果expression式中包含一些不纯的函数,那么它们的值将被丢弃,并且其副作用不明显。 从纯粹的表情 : 纯函数是构造纯expression式所必需的。 纯粹的expression通常被认为是透明的。 我觉得这些陈述混淆。 如果来自所谓的“不纯function”的副作用不足以允许不执行它们(即,用它的值replace对这样的function的调用),而不实质上改变程序,则它就像在第一个地方,不是吗? 有没有更简单的方法来理解纯粹的expression和透明的expression之间的区别? 如果有差异,清楚地表明它的示例expression将不胜感激。