gpt4 book ai didi

scheme - Racket 方案 - 流图问题

转载 作者:太空宇宙 更新时间:2023-11-03 18:48:34 25 4
gpt4 key购买 nike

为了从字符流中删除换行符,我在实现流映射时遇到了问题。

下面是我当前的 remove-newlines 实现:

 (define remove-newlines2
(lambda (str)
(cond
((stream-empty? str) '())
(else (stream-map (lambda (x)
(cond
((equal? x #\newline) (remove x str ))
(else '())
)) ;procedure
str ; stream
)))))

我尝试过不同的实现方式。但是,似乎无论我做什么,Racket 都只会将其识别为流,而不会做任何进一步的事情:

(remove-newlines2 (file->stream "text-source-file"))
#<stream>
>

我在这里缺少一些简单的东西吗?

最佳答案

这是预期的行为,因为 stream-map返回一个 stream 作为它的输出。要获取其内容,您必须评估或强制结果,例如使用 stream->list上:

(stream->list (remove-newlines2 (file->stream "text-source-file")))

关于scheme - Racket 方案 - 流图问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40945301/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com