在Lisp的同一行上的一条打印语句中打印从功能返回的数字的文本

时间:2018-09-18 13:47:39

标签: printing lisp

我有一个非常简单的问题。我如何才能从函数返回的一段文本和一个整数值打印在同一行上? 我使用的语言叫Lisp

(defun factorial (n)
  (if (= n 0) 
      1
      (* n (factorial (- n 1)))))

(print "Factorial ( 7 ) is ")
(print (factorial 7))

此代码打印

"Factorial ( 7 ) is "
5040

我如何将它们都打印在同一行上?

1 个答案:

答案 0 :(得分:6)

使用princ instead of print 或者更好的是,format

(format t "Factorial ( ~:D ) = ~:D~%" 7 (factorial 7))

打印

Factorial ( 7 ) = 5,040