【问题标题】:large output in common lisp linux terminalcommon lisp linux终端中的大输出
【发布时间】:2010-10-26 16:58:21
【问题描述】:

我编写了一个 clisp 程序,它打印出 n 组 x*y 随机整数。我想让 n=100,但我无法复制和粘贴整个内容,因为我的 linux 终端没有返回足够远的位置,因为没有更好的词。

我想要最简单的方法来捕获 2200 行 linux 终端读数。

【问题讨论】:

  • 您不能使用 > 将输出重定向到文件吗?例如,cl > outputFile
  • 完成。工作。有点混乱,因为我必须制表符...这绝对是我想做的,但是有没有办法将输出的 copy 重定向到文件,同时仍然在终端也是?

标签: lisp terminal common-lisp


【解决方案1】:

在 Lisp 中,有多种方法可以将输出保存在文件中。

  • 您可以将 REPL 交互保存到文件中。请参阅 DRIBBLE 函数。

  • 您还可以使用 WITH-OPEN-FILE 封装您的代码。

示例:

(with-open-file (*standard-output* "/tmp/foo.text" :direction :output)
   (your-print-function-here))

【讨论】:

    【解决方案2】:

    除了上面的评论,我在命令行上使用 sbcl 来捕获输出。只需加载您的库,然后评估您的需求。

    示例:

    sbcl --noinform --load "compass.lisp" \
                    --eval "(print (table-egs (cocomo81)))" \
                    --eval "(quit)" > copy.txt
    

    【讨论】:

      【解决方案3】:

      有几种不同的 Linux 终端程序。它们都有或多或少的可访问方式来配置回滚行​​的数量。我现在不在我的 Linux 机器上,但我记得它位于 GNOME 终端的 Preferences 菜单选项下一个相对明显的位置,我想 KDE 是类似的。

      不过,我支持使用 shell 重定向的建议;这是更普遍有用的策略。

      【讨论】:

        猜你喜欢
        • 2017-09-27
        • 2015-09-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-04
        • 1970-01-01
        相关资源
        最近更新 更多