首页 > 解决方案 > 在 Lisp 的同一行的一个打印语句中打印带有从函数返回的数字的文本

问题描述

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

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

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

此代码打印

"Factorial ( 7 ) is "
5040

我怎样才能让它们都打印在同一行?

标签: printinglisp

解决方案


使用princ代替print or,更好的是,format

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

印刷

Factorial ( 7 ) = 5,040

推荐阅读