gpt4 book ai didi

printing - 输入字符串并将其打印回来的程序将不起作用

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

我觉得应该是 Common Lisp 中的一段非常简单的代码,我想要它做的就是要求用户输入,然后将其打印回来。

这是我的代码(“之前”和“之后”的打印来自尝试调试,它显示出一些奇怪的东西。

(defun get-input (prompt)
(clear-input)
(write-string prompt)
(finish-output)
(read-line)
)

(let (
(p1 (get-input "Enter: "))
)
(princ "Before")
(princ p1)
(princ "After")
)

当我运行它时,我得到以下信息

This is SBCL 1.2.1, an implementation of ANSI Common Lisp.
More information about SBCL is available at <http://www.sbcl.org/>.

SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses. See the CREDITS and COPYING files in the
distribution for more information.

WARNING: the Windows port is fragile, particularly for multithreaded
code. Unfortunately, the development team currently lacks the time
and resources this platform demands.
* (load "test.lisp")

Enter: This is my string.
AftereThis is my string.
T

如您所见,我的“Before”字符串甚至都没有打印出来,而我的“After”字符串末尾有一个奇怪的“e”?为什么我第一次运行该程序时它似乎要求输入?

如果有人能提供帮助,我将不胜感激。谢谢

最佳答案

我相信这就是正在发生的事情,顺序是:

  1. 程序计算要绑定(bind)到 p1 的表达式;这会生成您的提示并读取您的输入
  2. Then 它打印“Before”
  3. 然后它打印 p1 的值,(我认为)末尾有一个回车符,以便下一个要打印的内容位于该行的开头
  4. 然后打印“After”,覆盖“Before”的前 5 个字符

关于printing - 输入字符串并将其打印回来的程序将不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27278910/

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