在LISP中写入与写入行

时间:2017-09-15 12:06:49

标签: lisp

我开始使用LISP并编写以下程序

(write-line "hello world")
(print "hello world print")
(write "hello world write")

我得到以下输出

hello world

"hello world print" "hello world write"

我猜writeprint返回字符串对象,因此write-line返回的类型为什么没有引号。

Link到我的工作空间

1 个答案:

答案 0 :(得分:3)

根据write-line/ write-string官方文件,它返回其论点。你看到它的副作用(印刷)。通常,您还会在REPL中看到返回顶级:

> (write-line "hello world")
; hello world (printed)
;==> "hello world" (returned)

请注意,write不仅限于打印字符串,因为它们会占用任何CL对象,而prin1printpprintprinc只是{ {1}}预定义了一些动态设置。

相关问题