gpt4 book ai didi

scheme - 申请申请Scheme

转载 作者:行者123 更新时间:2023-12-04 23:29:10 26 4
gpt4 key购买 nike

我在这里缺少什么?我在玩 apply在Scheme中,并写道:

(apply apply '(+ (1 2 3)))

按照我的理解,第一个 apply 应该这样做:
(apply + '(1 2 3))

第二个应该做:
(+ 1 2 3)

但是 Ypsilon 和 Gauche 都给出了相同的错误(这是 Ypsilon 的):
error: attempt call non-procedure: (+ 1 2 3)

backtrace:
0 (apply apply '(+ (1 2 3)))
..."/dev/stdin" line 1

我不明白什么?

最佳答案

'(+ (1 2 3)) 的问题是+被引用并因此被解释为一个符号。

您将不得不使用 eval获取 + 的值象征。

换句话说,你试图做的,是行不通的。

编辑:另一种选择是 quasiquote。例如:

(apply apply `(,+ (1 2 3))) ; => 6

或(不带 quasiquote)
(apply apply (list + '(1 2 3))); => 6

关于scheme - 申请申请Scheme,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7754417/

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