gpt4 book ai didi

syntax - cond 变量没有值

转载 作者:太空宇宙 更新时间:2023-11-03 19:03:32 27 4
gpt4 key购买 nike

我是 lisp 的新手。我只想制作一个短节目。它是关于测试条件并在条件为真时做某事。因此,如果 3 modulo 2 不成立(显然不成立),我想打印 7+9+11 的结果。我收到错误 *** - COND:变量/= 没有值。

我已经尝试将 cond 更改为 when。但它没有用,我得到了同样的错误。

(cond (/= 0 (mod 3 2 ))

做 (+ 7 9 11)

)

我希望结果是 27 而不是错误。

最佳答案

看来您正在尝试进入这样的程序。

(if (/= 0 (mod 3 2))
(+ 7 9 11))

这里,if 的语法如下

(if (PREDICATE)
(RETURN-IF-PREDICATE-TRUE)
(RETURN-IF-PREDICATE-FALSE))

如果未提供,RETURN-IF-PREDICATE-FALSE 默认为 nil

如果你更喜欢使用cond,那么你可以这样做

(cond
((/= 0 (mod 3 2)) (+ 7 9 11)))

这里,cond 的语法如下

(cond
((P1) (R1))
((P2) (R2))
...
)

如果谓词 P1 为真,则返回 R1。否则测试下一个谓词,依此类推。

如果您的代码,您的 cond 缺少几个括号。一般来说,你正在做

;; (incorrect code)
(cond
(P1) do (+ 7 9 11))

谓词-结果对和 do 宏周围缺少括号。

此外,没有理由在这里使用do

关于syntax - cond 变量没有值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55948895/

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