我需要检查给定的流是否为终端流。例如,使用*standard-output*
我执行(equal (synonym-stream-symbol *standard-output*) *terminal-io*)
,但它返回nil。这很奇怪,因为(synonym-stream-symbol *standard-output*)
返回*terminal-io*
。有任何想法吗?感谢您的任何建议。
原因是synonym-stream-symbol
(manual)返回一个符号,而评估*terminal-io*
返回与全局变量关联的流。
您可以简单地引用流的名称来检查哪个是正确的符号:
CL-USER> (eq (synonym-stream-symbol *standard-output*) '*terminal-io*)
T