我需要检查给定的流是否是终端流。例如,对于*standard-output*,我执行(equal (synonym-stream-symbol *standard-output*) *terminal-io*),但它返回nil。
这很奇怪,因为(synonym-stream-symbol *standard-output*)返回*terminal-io*。
有什么想法吗?谢谢你的建议。
发布于 2020-05-12 18:44:34
原因是synonym-stream-symbol (manual)返回一个符号,而计算*terminal-io*则返回与全局变量关联的流。
您可以简单地引用流的名称来检查哪个符号正确:
CL-USER> (eq (synonym-stream-symbol *standard-output*) '*terminal-io*)
Thttps://stackoverflow.com/questions/61749074
复制相似问题