公共Lisp:刷新标准输出

公共Lisp:刷新标准输出,lisp,common-lisp,stdout,Lisp,Common Lisp,Stdout,尝试学习lisp(我猜emacs也会学习lisp)。 我想知道您将如何清除输出并替换它。 可以在LISP repl或emacs缓冲区中。 类似于python中的以下内容 def go(r): for i in range(r): sys.stdout.write("\rDoing %i" % i) sys.stdout.flush() 对于CommonLisp,您正在寻找 : 完成输出,强制输出和清除输出对缓冲流输出的内部处理进行控制 finishou

尝试学习lisp(我猜emacs也会学习lisp)。 我想知道您将如何清除输出并替换它。 可以在LISP repl或emacs缓冲区中。
类似于python中的以下内容

def go(r):
    for i in range(r):
        sys.stdout.write("\rDoing %i" % i)
        sys.stdout.flush()

对于CommonLisp,您正在寻找

:

完成输出
强制输出
清除输出
对缓冲流输出的内部处理进行控制

  • finishoutput
    尝试确保发送到输出流的任何缓冲输出已到达其目标,然后返回

  • 强制输出
    启动清空任何内部缓冲区,但不等待完成或确认返回

  • 清除输出
    尝试中止正在进行的任何未完成的输出操作,以便尽可能少的输出继续到目标

  • *debug io*
    的值称为调试I/O,是用于交互式调试目的的流

  • *error output*
    的值称为error output,它是一个应向其发送警告和非交互式错误消息的流

  • *query io*
    的值称为查询I/O,是一个双向流,在向用户提问时使用。问题应该输出到此流,并从中读取答案

  • *标准输入*
    的值称为标准输入,当没有明确提供特定输入流时,许多操作员将其用作默认输入源

  • *标准输出*
    的值称为标准输出,是一个流,当没有明确提供特定的输出流时,许多操作员将其用作输出的默认目标

  • *跟踪输出*
    的值称为跟踪输出,它是跟踪函数(请参见跟踪)和时间宏打印其输出的流


Emacs Lisp完全不同,您可能希望从这里开始:

对于common Lisp,您正在寻找

:

完成输出
强制输出
清除输出
对缓冲流输出的内部处理进行控制

  • finishoutput
    尝试确保发送到输出流的任何缓冲输出已到达其目标,然后返回

  • 强制输出
    启动清空任何内部缓冲区,但不等待完成或确认返回

  • 清除输出
    尝试中止正在进行的任何未完成的输出操作,以便尽可能少的输出继续到目标

  • *debug io*
    的值称为调试I/O,是用于交互式调试目的的流

  • *error output*
    的值称为error output,它是一个应向其发送警告和非交互式错误消息的流

  • *query io*
    的值称为查询I/O,是一个双向流,在向用户提问时使用。问题应该输出到此流,并从中读取答案

  • *标准输入*
    的值称为标准输入,当没有明确提供特定输入流时,许多操作员将其用作默认输入源

  • *标准输出*
    的值称为标准输出,是一个流,当没有明确提供特定的输出流时,许多操作员将其用作输出的默认目标

  • *跟踪输出*
    的值称为跟踪输出,它是跟踪函数(请参见跟踪)和时间宏打印其输出的流

Emacs Lisp完全不同,您可能希望从这里开始: