在命令式编程中,使用语句,您可以执行以下操作:
a = 10
b = a * 2
print a # 20
我一直在想,表达式中的等价物应该是这样的:
print with(a=10){with(b=a*2){return b}}
这是用屠宰的python编写的,但这没关系,它应该说明我的意思。它不会更改程序中变量的状态(然后永远保持更改),而是在块范围内更改该范围内的任何表达式。
这种东西可能有一个名字。我不知道任何纯函数式语言,但我想这种事情对于在不存在赋值语句时计算临时值非常有用。有谁知道它叫什么,内置了哪些语言,以及在哪里可以找到有关它的更多信息?