用Python实现Lisp解释器
我很好奇彼得·诺维格的Lisp解释器中的某个部分是怎么工作的。在这个Lisp解释器里,可以定义函数……这到底是怎么回事呢?我还是个初学者,只想要个简单的解释。
有一个部分可能和这个有关,上面写着
elif x[0] == 'define': # (define var exp)
(_, var, exp) = x
1 个回答
3
在这个例子中,x[0]
是 define
,x[1]
是变量名,而 x[2]
是表达式。所以,在 Python 里,_, var, exp = x
是一种“解构赋值”,它把数组 x
拆分成各个部分,然后把这些部分分别赋值给左边的变量。