我正在尝试通过执行命令sbcl --load file.lisp
在SBCL中运行测试文件。但是,当我执行命令时,文件已加载,但我看不到我的程序输出。
顺便提一下,这是一个测试文件的例子:
(locally
(declare #+sbcl(sb-ext:muffle-conditions style-warning))
(handler-bind
(#+sbcl(style-warning #'muffle-warning))
(load "load.lisp")
))
(interval 5)
(interval 20)
(interval 500)
load.lisp
文件,加载我的程序的源代码,其中包含几个函数的定义,包括interval
函数。
我已经尝试过sbcl中的其他选项,例如run sbcl --script file.lisp
,但输出是相同的。
任何人都可以帮我解决这个问题吗?提前谢谢。
**打印对象方法**
(defmethod print-object ((tensor tensor) stream)
"Implementation of the generic method print-object for the tensor data structure.
If the tensor is a vector, prints its elements separated by a whitespace.
If the tensor is not one of the previous cases, then for each sub-tensor of the
first dimension, prints the sub-tensor separated from the next sub-tensor by a
number of empty lines that is equal to the number of dimensions minus one."
(labels ((rec (arg last-iteration)
(cond ((null arg) nil)
((atom (car arg))
(format stream
(if (null (cdr arg)) "~A" "~A ")
(car arg))
(rec (cdr arg) nil))
((and (listp (car arg)) (null (cdr arg)))
(rec (car arg) last-iteration)
(unless last-iteration
(format stream "~%")))
(t
(rec (car arg) nil)
(format stream "~%")
(rec (cdr arg) last-iteration)))))
(rec (tensor-content tensor) t)))
答案 0 :(得分:2)
加载文件时,不会自动打印表单的返回值。
许多人中的一个选择:
sbcl --script file.lisp
可与{{1}}一起使用。