用Python实现Lisp解释器

3 投票
1 回答
704 浏览
提问于 2025-04-16 19:30

我很好奇彼得·诺维格的Lisp解释器中的某个部分是怎么工作的。在这个Lisp解释器里,可以定义函数……这到底是怎么回事呢?我还是个初学者,只想要个简单的解释。

有一个部分可能和这个有关,上面写着

elif x[0] == 'define':         # (define var exp)
        (_, var, exp) = x

http://norvig.com/lispy.html

1 个回答

3

在这个例子中,x[0]definex[1] 是变量名,而 x[2] 是表达式。所以,在 Python 里,_, var, exp = x 是一种“解构赋值”,它把数组 x 拆分成各个部分,然后把这些部分分别赋值给左边的变量。

撰写回答