如何将端口转换为字符串并在 Racket 中列出?
How to convert port to string and list in Racket?
如何将端口的所有字符转换为字符串或列表,以便我可以将其作为字符列表或字符串进行操作?
我想知道是否有类似的东西
(define (port->list port) (list port))
可以。
Racket 在生成的字符串上提供了一个内置的 port->string
function. If you want, you can subsequently call string->list
来获取字符列表。
当然,如果你想一步完成,定义这样一个函数就很简单了:
(define (port->list port)
(string->list (port->string port)))
Racket 提供了推导式,这才是真正应该使用的东西。
(define (port->list port)
(for/list ((c (in-port read-char port))) c))
话虽这么说,Racket 已经提供了它自己的 port->list
而你的版本实际上会与之冲突。
如何将端口的所有字符转换为字符串或列表,以便我可以将其作为字符列表或字符串进行操作?
我想知道是否有类似的东西
(define (port->list port) (list port))
可以。
Racket 在生成的字符串上提供了一个内置的 port->string
function. If you want, you can subsequently call string->list
来获取字符列表。
当然,如果你想一步完成,定义这样一个函数就很简单了:
(define (port->list port)
(string->list (port->string port)))
Racket 提供了推导式,这才是真正应该使用的东西。
(define (port->list port)
(for/list ((c (in-port read-char port))) c))
话虽这么说,Racket 已经提供了它自己的 port->list
而你的版本实际上会与之冲突。