gpt4 book ai didi

functional-programming - 纯函数式语言中的全局变量

转载 作者:行者123 更新时间:2023-12-04 18:08:26 27 4
gpt4 key购买 nike

关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。












想改进这个问题?将问题更新为 on-topic对于堆栈溢出。

8年前关闭。




Improve this question




如果允许使用全局变量,纯函数式语言是否会失去其纯度?
我的意思是有全局变量会影响 引用透明度 的语言?

我想不会,因为 值语义 但我不确定并且愿意
知道别人怎么想。

最佳答案

在纯函数式语言中,“变量”的含义与命令式语言中通常的含义不同。它不是变量,因为它可以在给定的范围内重新分配,而是每次进入范围时,它可能具有不同的值。但在该范围的生命周期内,它保持不变。例如,在函数中

f x y = x + y
xy是在 f 时绑定(bind)的变量应用于他们。一旦绑定(bind),它们就永远不会在该调用的范围内改变,它们只是在某个时候超出范围。其他调用将绑定(bind) xy到不同的值。这就是函数变量“变化”的意义,它更接近(有些人可能会说相同)变量的原始数学含义。

那么,对于您的问题:全局变量会破坏纯度吗?不,因为全局变量,因为它们永远不会超出范围,实际上是常量。

关于functional-programming - 纯函数式语言中的全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20755641/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com