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")))