我希望能够写入字节并从标准输入/输出中读取它们但是当我在SBCL中尝试这个时,我得到错误“流没有合适的方法[...]”,为什么会这样,怎么会我打算自己制作可以处理字节的流吗?
答案 0 :(得分:4)
这似乎是因为标准输入和输出流是元素类型为character
的流,而不是(unsigned-byte 8)
。通常在流打开时配置流的元素类型,在标准输入/输出的情况下,在解释器启动时自动完成。
然而,SBCL具有二价流的概念,它可以支持字符和面向字节的I / O.碰巧,在我的机器上,
* (read-byte *standard-input* nil)
a
97
* (read-char *standard-input* nil)
a
#\a
工作正常。那么,您使用的是哪个版本的SBCL?我的是SBCL 1.0.49。