参考透明度是什么意思?我曾听人描述它为“这意味着你可以用等号替换等号”,但这似乎是一个不充分的解释。
当前回答
如果你对词源感兴趣(比如。为什么这个概念有这个特殊的名字),看看我关于这个主题的博客文章。这个术语来自哲学家/逻辑学家奎因。
其他回答
引用透明函数的作用类似于数学函数;给定相同的输入,它总是会产生相同的输出。它意味着传入的状态没有被修改,并且函数本身没有状态。
如果你对词源感兴趣(比如。为什么这个概念有这个特殊的名字),看看我关于这个主题的博客文章。这个术语来自哲学家/逻辑学家奎因。
表示性语义是建立在建模语言的基础上,通过构建域来构成可表示性值。 函数式程序员使用术语值来描述基于语言重写规则的计算的收敛性。它的操作语义。
在1中,有两种语言的清晰度:
被建模的那个,目标语言 建模的语言,元语言
2、由于对象和元语言的紧密性,它们可能会被混淆。
作为一名语言实现者,我发现我需要经常记住这个区别。
所以Reddy教授,我可以这样解释你吗?
在函数式编程和语义的上下文中,术语引用 透明度不是指的透明。
一个表达式是引用透明的,如果它可以用它的值替换,而不改变算法,产生的算法在相同的输入上具有相同的效果和输出。
编程中的引用透明性指的是,当一个函数提供了一个输入时,它总是会为给定的输入返回相同的值。以下面的示例函数为例。
Int plusFive(int x){
return x+5
}
对于给定的输入整数x,该函数总是返回相同的值。上述函数的输出可以被其返回值所替代,并且代码的操作应该相同。例如,如果x=10,那么代码可以写成:
Int输出= + 5 (10)
OR
Int输出= 15
推荐文章
- 面向对象编程,函数式编程,过程式编程
- 什么是“P=NP?”,为什么这是一个如此著名的问题?
- 为什么不可变性在JavaScript中如此重要(或需要)?
- 如何使用underscore.js作为模板引擎?
- Scala中的“提升”是什么?
- Javascript相当于Python的zip函数
- 使用array_map()访问第一级键,而不调用' array_keys() '
- functools partial是怎么做的呢?
- 过程式编程和函数式编程的区别是什么?
- 没有可变状态,你怎么能做任何有用的事情?
- 如何在Python中使用lambda排序
- 八岁小孩的大o ?
- 什么是参考透明度?
- 为什么Python不适合函数式编程?
- 什么是类型安全?