gpt4 book ai didi

clojure - 为什么当我单独评估 common-lisp 函数时它们没有绑定(bind)

转载 作者:行者123 更新时间:2023-12-02 09:36:52 27 4
gpt4 key购买 nike

为什么

(floor 4.5)

返回 4 和 0.5,但是

floor

出现错误:

The variable FLOOR is unbound.
[Condition of type UNBOUND-VARIABLE]

注意:我有 clojure 背景

我如何才能访问实际的floor过程?

最佳答案

如果您使用括号,就像第一个示例中那样:(floor ...) Common Lisp 会将其识别为列表,并且由于它未加引号,因此会对其进行求值。计算列表中的第一个形式必须是函数名称、宏名称或特殊形式。

在第二个示例中,您没有使用括号,因此它不被视为列表,因此 CL 尝试将其解释为变量(变量和函数位于不同的命名空间中)。

尝试输入 (floor),您会收到不同的错误消息(参数数量无效)。

您可以通过键入访问函数命名空间

#'floor

(function floor)

(这些本质上是相同的)。

关于clojure - 为什么当我单独评估 common-lisp 函数时它们没有绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24818199/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com