Stream 编辑流拍

Stream 编辑流拍,stream,racket,Stream,Racket,嗯,我正在尝试在球拍中获得一些东西,我目前正在学习流。我尝试创建一个编辑流的函数,例如添加一对(int,element)来代替每个流的元素 例如,初始_流: 编辑的\u流: 我写了这个,但它似乎进入了一个无止境的循环(int=>13) 提前感谢。如果“流”指的是Racket的惰性流数据结构,则可以通过的应用程序实现 这是假设编辑的\u流中的int是一个符号 (define (stream-add-zero s) (cons (cons 13 (car (s))) (stream-add-ze

嗯,我正在尝试在球拍中获得一些东西,我目前正在学习流。我尝试创建一个编辑流的函数,例如添加一对(int,element)来代替每个流的元素

例如,初始_流: 编辑的\u流:

我写了这个,但它似乎进入了一个无止境的循环(int=>13)

提前感谢。

如果“流”指的是Racket的惰性流数据结构,则可以通过的应用程序实现

这是假设
编辑的\u流中的
int
是一个符号

(define (stream-add-zero s)
  (cons (cons 13 (car (s))) (stream-add-zero (cdr (s)))))
(define initial-stream (in-naturals))
(define edited-stream (stream-map (λ (i) (cons 'int i)) initial-stream))

;; sanity check
(require rackunit)
(check-equal? (stream-ref edited-stream 3) '(int . 3))