Cod*_*lus 4 lisp python functional-programming quote
在python中,什么是引用运算符的等价物?我发现有必要推迟评估.例如,假设我在下面的lisp伪代码中有:
a = '(func, 'g)
g = something
(eval a)
Run Code Online (Sandbox Code Playgroud)
我正在做的是将评估推迟g到以后的时间.这是必要的,因为我想g稍后定义.在python中这个psuedocode的等价思想是什么?
a = lambda: func(g)
g = something
a()
Run Code Online (Sandbox Code Playgroud)
这不是最直接的翻译 - 最直接的翻译会使用字符串eval- 但它可能是最合适的.无论如何,引用可能不是你想要的Lisp; 你可能想要delay什么或创造一个lambda.请注意,func并g在封闭变量lambda函数,而不是符号,因此,如果调用a从环境与不同的绑定func或者g,它仍然将使用从变量a的定义的环境.
| 归档时间: |
|
| 查看次数: |
451 次 |
| 最近记录: |