gpt4 book ai didi

lisp - 在打印语句 Lisp 中返回变量

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

快速提问。

我正在尝试向我的函数添加一些内容,它会将我作为字符串的一部分提供给它的任何参数打印回控制台。

    (defun test (testvar)
(format Your number is *testvar*))

环顾四周后,我认为我应该使用格式,但据我所知。

最佳答案

您可以在 REPL 循环(READ-EVAL-PRINT 循环)中通过控制台在 Common Lisp 中进行交互。所以每一个表达式都会被读取、求值,然后打印求值结果;

CL-USER> (defun test (testvar)
(format nil "Your input is ~A" testvar))
TEST
CL-USER> (test 3)
"Your input is 3"
CL-USER> (test 'symbol)
"Your input is SYMBOL"
CL-USER> (test "string")
"Your input is string"
CL-USER>

format 函数 ( reference ) 当它的第二个参数为 nil 时,以字符串的形式返回替换它的第二个参数(格式字符串)、特殊标记(如“~a”)的结果“~s”等,其余参数。

如果 format 的第二个参数是 t 或一个流,那么格式化的字符串将输出到指定的流(或者,如果是 t ,到特殊的 *standard-output* 流,最初与控制台相同),并返回格式的结果(然后由 REPL 打印)。例如:

CL-USER> (defun test (testvar)
(format t "Your input is ~A" testvar))
TEST
CL-USER> (test 3)
Your input is 3
NIL
CL-USER>

在这种情况下,NIL 是格式化函数的结果。另请注意,与第一种情况不同,Your input is 3 打印时用双引号括起来(因为 (format nil ...) 的结果是字符串,并由 REPL 打印),打印操作的输出保持不变。

关于lisp - 在打印语句 Lisp 中返回变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36528631/

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