任何人都可以帮助我更好地了解如何写一个流?在球拍流
我知道流是一个无限的值序列,我学习编程它的方式是将它们表示为一个thunk,当被调用时产生一对(1)序列中的第一个元素和(2)
(define powers-of-two
(letrec ([f (lambda (x) (cons x (lambda() (f (* x 2)))))])
(lambda() (f 2))))
我明白这里是刚生产的两个大国,并访问这些例如调用(car (powers-of-two))
会导致:表示为第二通无限元素
例如流一个thunk在2
和调用(car ((cdr (powers-of-two))))
将re SULT在4
现在我想写一个流称为red-blue
的字符串red
和blue
之间交替,但我有点困惑如何构建它
所以你做到了,恭喜!查看http://c2.com/cgi/wiki?SieveOfEratosthenesInManyProgrammingLanguages中的Scheme部分,了解SICP风格流的实例。在那里只有一个宏规则,你可以在整个手动应用它。 –