如何将端口的所有字符转换为字符串或列表,以便我可以将其作为字符列表或字符串进行操作?
我想知道是否有类似于
的东西(define (port->list port) (list port))
是可能的。
答案 0 :(得分:2)
Racket提供了内置的port->string
功能。如果需要,您可以随后在结果字符串上调用string->list
以获取字符列表。
当然,如果您想一步完成,那么定义这样一个函数将是微不足道的:
(define (port->list port)
(string->list (port->string port)))
答案 1 :(得分:0)
球拍提供了理解,这应该是真正应该使用的东西。
(define (port->list port)
(for/list ((c (in-port read-char port))) c))
这样说,Racket已经提供了自己的port->list
,你的版本实际上会与它发生冲突。