我正在阅读以下文档以在 Python 中实现 Lisp 解释器:http : //norvig.com/lispy.html在standard_env函数中,定义了一个字典,用于将某些符号或变量映射到它们相应的函数或值。但是,我无法理解env字典中的以下条目:env = {}env.update({ 'equal?': op.eq, 'list?': lambda x: isinstance(x,list), 'null?': lambda x: x == [], 'number?': lambda x: isinstance(x, (int, float)), 'procedure?': callable, 'symbol?': lambda x: isinstance(x, str),})'?' 是什么意思?键的末尾是什么意思?您能否提供一些将使用这些条目的示例?
3 回答
慕村9548890
TA贡献1884条经验 获得超4个赞
我不熟悉 Lisp,但查看这些术语的定义,看起来这些术语被用来检查参数是什么,即“列表?” 映射到测试参数是否为列表的函数,“过程?” 测试参数是否是一个过程(或至少是可调用的),'null?' 测试空列表(也许这就是解释器中空值的表示方式)等。
添加回答
举报
0/150
提交
取消