Common lisp 在Common Lisp中是否可以禁用指定函数的返回值?

Common lisp 在Common Lisp中是否可以禁用指定函数的返回值?,common-lisp,return-value,sbcl,Common Lisp,Return Value,Sbcl,我想知道是否可以禁用指定函数的返回值。我正在使用编译器SBCL。我问这个问题,因为打印返回值需要一段时间,我甚至不需要它。有什么想法吗 好的,它可以做到: (progn (...) t) 另外,感谢使用函数值可以从函数返回零(或多个)值。 值返回它的所有参数。因此,将(values)作为其最后形式的函数将不会返回任何内容,而以(values val1 val2 val3)结尾的函数将返回三个值。调用返回多个值的函数时,只有第一个值(主返回值)以正常方式可用,而其他值可以使用多值绑定(例

我想知道是否可以禁用指定函数的返回值。我正在使用编译器SBCL。我问这个问题,因为打印返回值需要一段时间,我甚至不需要它。有什么想法吗

好的,它可以做到:

(progn
  (...)
  t)

另外,感谢使用函数
可以从函数返回零(或多个)值。
返回它的所有参数。因此,将
(values)
作为其最后形式的函数将不会返回任何内容,而以
(values val1 val2 val3)
结尾的函数将返回三个值。调用返回多个值的函数时,只有第一个值(主返回值)以正常方式可用,而其他值可以使用多值绑定(例如,
multiple value bind
获取更多详细信息,请参阅Hyperspec中的

如果要限制无法修改的函数的输出,可以这样调用它:

(progn
   (function-returning-much-data)
   (values))

使用函数
values
可以从函数返回零(或多个)值。
返回它的所有参数。因此,将
(values)
作为其最后形式的函数将不会返回任何内容,而以
(values val1 val2 val3)
结尾的函数将返回三个值。调用返回多个值的函数时,只有第一个值(主返回值)以正常方式可用,而其他值可以使用多值绑定(例如,
multiple value bind
获取更多详细信息,请参阅Hyperspec中的

如果要限制无法修改的函数的输出,可以这样调用它:

(progn
   (function-returning-much-data)
   (values))

我发现通过在lisp启动文件中将变量设置为相对较低的值来限制打印到回复中的数据量非常有用,如下所示:

(setf *print-length* 20)

这样,我就不必太担心返回大量元素的函数。

我发现通过在lisp启动文件中将变量设置为相对较低的值来限制打印到回复中的数据量非常有用,如下所示:

(setf *print-length* 20)
这样,我就不必太担心返回大量元素的函数。

可能的重复