Scheme 球拍方案-流图问题
为了从字符流中删除换行符,我在实现流映射时遇到问题 下面是我当前执行的删除换行符:Scheme 球拍方案-流图问题,scheme,lisp,racket,Scheme,Lisp,Racket,为了从字符流中删除换行符,我在实现流映射时遇到问题 下面是我当前执行的删除换行符: (define remove-newlines2 (lambda (str) (cond ((stream-empty? str) '()) (else (stream-map (lambda (x) (cond ((equal? x #\newline) (remov
(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>
>
(remove-newlines2(文件->流式传输“文本源文件”))
#
>
这里是否缺少一些简单的内容?这是预期的行为,因为返回一个
流作为其输出。要获取其内容,您必须计算或强制结果,例如在流上使用:
(stream->list (remove-newlines2 (file->stream "text-source-file")))