比较流

问题描述 投票:0回答:1

我需要检查给定的流是否为终端流。例如,使用*standard-output*我执行(equal (synonym-stream-symbol *standard-output*) *terminal-io*),但它返回nil。这很奇怪,因为(synonym-stream-symbol *standard-output*)返回*terminal-io*。有任何想法吗?感谢您的任何建议。

stream lisp common-lisp
1个回答
0
投票

原因是synonym-stream-symbolmanual)返回一个符号,而评估*terminal-io*返回与全局变量关联的流。

您可以简单地引用流的名称来检查哪个是正确的符号:

CL-USER> (eq (synonym-stream-symbol *standard-output*) '*terminal-io*)
T
© www.soinside.com 2019 - 2024. All rights reserved.