Scheme 如何在Racket中将端口转换为字符串和列表?

Scheme 如何在Racket中将端口转换为字符串和列表?,scheme,racket,Scheme,Racket,如何将端口的所有字符转换为字符串或列表,以便可以将其作为字符列表或字符串进行操作 我想知道是否有类似的 (define (port->list port) (list port)) 是可能的。球拍提供内置功能。如果需要,可以随后调用结果字符串以获得字符列表 当然,如果您想在一个步骤中完成,那么定义这样一个函数将非常简单: (define (port->list port) (string->list (port->string port))) 球拍提供了理解,这才

如何将端口的所有字符转换为字符串或列表,以便可以将其作为字符列表或字符串进行操作

我想知道是否有类似的

(define (port->list port) (list port))

是可能的。

球拍提供内置功能。如果需要,可以随后调用结果字符串以获得字符列表

当然,如果您想在一个步骤中完成,那么定义这样一个函数将非常简单:

(define (port->list port)
  (string->list (port->string port)))

球拍提供了理解,这才是真正应该使用的东西

(define (port->list port)
  (for/list ((c (in-port read-char port))) c))

这么说来,Racket已经提供了自己的
端口->列表
,您的版本实际上会与之冲突。

所以类似(定义(端口->列表端口)(字符串->列表(端口->字符串端口))?@user2175783是的,我在回答中添加了一个例子。