gpt4 book ai didi

lisp - cons 函数的问题

转载 作者:太空宇宙 更新时间:2023-11-03 18:56:25 24 4
gpt4 key购买 nike

嗯,最近开始学习lisp,在做一个小程序的时候发现了一点问题。问题是编写一个函数,如果名称还没有标题,则将其添加到名称中。我的代码是:

(setf *man-names* '(carlos pablo dani sergio))
(setf *woman-names* '(eva alba luna laura))

(defun titledp (name)
(cond ((member (car name) *man-names*) nil)
((member (car name) *woman-names*) nil)
(t t)))
(defun add-title (name)
(cond ((member (car name) *man-names*) (cons 'Mr. name))
((member (car name) *woman-names*) (cons 'Mrs. name))))

(defun title (name)
(cond ((titledp (name)) name)
(t add-title (name))))

当在“add-title”中调用 cons 时,我遇到一个问题,提示未定义函数“name”。为什么会这样?我该如何解决?

谢谢你:)

最佳答案

你的括号很有趣。在您的 title 函数中,您使用了几次 (name)。这意味着不带参数调用名为 name 的函数。我认为这就是您想要的:

(defun title (name)
(cond ((titledp name) name)
(t (add-title name))))

关于lisp - cons 函数的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5572235/

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