在Quicklisp中禁止"加载"输出

Hal*_*own 11 common-lisp quicklisp

有没有办法让quicklisp加载库而不发送:

To load "drakma":
  Load 1 ASDF system:
    drakma
; Loading "drakma"
Run Code Online (Sandbox Code Playgroud)

标准出来?我已经尝试添加:verbose nil:explain nil参数ql:quickload(这是我现在加载库的方式),但似乎这些是默认值 - 打开它们只会增加输出量.

谢谢你的帮助!

Hal*_*own 12

对于遇到类似问题的人,我找到了一个解决方案:

(with-open-file (*standard-output* "/dev/null" :direction :output
                                   :if-exists :supersede)
                (ql:quickload "my-package"))
Run Code Online (Sandbox Code Playgroud)

不确定它是否适用于所有解释器,但它适用于CLisp.

  • 制作空输出流的常规方法是(make-broadcast-stream).这具有在缺少/ dev/null(例如窗口)的系统上工作的优点. (10认同)

Xac*_*ach 6

没有办法做到这一点,但我打算很快添加一种方式.


dav*_*all 6

:silent此答案列表中缺少quicklisp 的选项.由于最新答案是从2013年开始,可能之后添加了该选项.

以下是您使用它的方式:

(ql:quickload "my-code" :silent t)
Run Code Online (Sandbox Code Playgroud)