gpt4 book ai didi

syntax-error - Lisp,指令在 defun 中不起作用

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

<分区>

我正在尝试制作一个将中缀输入更改为前缀的函数,例如:(x + 1) 作为输出为 (+ x 1) 的输入。

所以这是我目前的代码:

(setq x '(Y + 1))
(if (listp x ) (list (second x) (first x) (first (last x))) x)

所以如果我输入一个列表它返回 (+ Y 1) 如果它不是一个列表则返回用户输入。

但是,问题是我无法让这段代码在函数中运行:

(defun prefixToInfix (x)(
(if (listp x ) (list (second x) (first x) (first (last x))) x)
)
)

函数确实创建了但是当我调用它的时候

(prefixtoinfix '(Y + 1))

我得到一个错误

Error: Illegal function object: (IF (LISTP X) (LIST # # #) X).
[condition type: TYPE-ERROR]

我不知道为什么我的 if 语句在主程序中有效,但在我的函数中运行它时却无效。

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