gpt4 book ai didi

Lisp - 从输入中读取并存储 2 个值

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

我想使用 lisp 从用户输入中读取 2 个值。我想将它们存储在变量中,以便我可以在我的程序中使用它们。

到目前为止我有当前代码:

(defun le-posicao()
(let ((n_anel)
(pos_anel))
(princ "?")
(setf n_anel (read))
(setf pos_anel (read))
(when (and (integerp (n_anel)) (integerp (pos_anel)))
n_anel pos_anel)))

我正在使用 let 函数创建局部变量,然后我想存储我从输入中读取的值。

我的问题是,如何从输入中读取两个值并将第一个值存储在一个变量中,将第二个值存储在另一个变量中?这些值应该采用以下格式:

? value1 value2

有人可以帮助我吗?

最佳答案

您正在尝试命令式地使用 Lisp。虽然这是可能的,但可能会有点痛。

为了使您的代码更具功能性,而不是创建变量然后改变它们,您应该创建名称并将值绑定(bind)到它们。

澄清一下,let 是一种特殊形式,而不是函数;它们用于创建名称到值的词法范围绑定(bind)。

我相信你真正想做的是:

(let ((n_anel (read))
(pos_anel (read)))
(... code using but not modifying n_anel and pos_anel ...))

这段代码避免了setf


注意事项:

不确定 Common-Lisp 的 let 中的括号 -- 我最近一直在使用 Clojure!

也不确定您是否正确使用了read

关于Lisp - 从输入中读取并存储 2 个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8329404/

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