【问题标题】:Suppress "loading" output in Quicklisp抑制 Quicklisp 中的“加载”输出
【发布时间】:2011-09-08 21:36:49
【问题描述】:

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

To load "drakma":
  Load 1 ASDF system:
    drakma
; Loading "drakma"

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

感谢您的帮助!

【问题讨论】:

    标签: common-lisp quicklisp


    【解决方案1】:

    对于遇到类似问题的任何人,我已经找到了解决方案:

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

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

    【讨论】:

    • 制作空输出流的正常方法是(make-broadcast-stream)。这具有在缺少 /dev/null 的系统(例如 windows)上工作的优势。
    【解决方案2】:

    此答案列表中缺少 quicklisp 的 :silent 选项。由于最新的答案来自 2013 年,可能是在那之后添加了该选项。

    这是你如何使用它:

    (ql:quickload "my-code" :silent t)
    

    【讨论】:

      【解决方案3】:

      没有办法做到这一点,但我打算很快添加一个方法。

      【讨论】:

        【解决方案4】:

        如果您使用 sbcl 将事物作为脚本运行,您可以通过将 --noinform 添加到 shebang 中来找到一些额外的帮助:

        !#/bin/sbcl --noinform --core /path/to/relevant/sbcl.core --script
        

        【讨论】:

          猜你喜欢
          • 2012-12-04
          • 2016-03-07
          • 1970-01-01
          • 1970-01-01
          • 2012-03-09
          • 2011-10-28
          • 2013-11-19
          相关资源
          最近更新 更多