誰かが私がストリームを書く方法をよりよく理解するのを手伝ってくれる?
ストリームは値の無限のシーケンスであり、それらのプログラミングを学んだ方法は、呼び出されたときに(1)シーケンスの最初の要素と(2)を表すサンクのペアを生成するサンクとしてそれらを表すことであることを理解しています2番目から無限大の要素のストリーム
例えば:
(define powers-of-two
(letrec ([f (lambda (x) (cons x (lambda () (f (* x 2)))))])
(lambda () (f 2))))
私はここで、それが2の累乗を生成していることを理解しています。たとえば、これらにアクセスすると、呼び出しは4(car (powers-of-two))
に2
なり、呼び出し(car ((cdr (powers-of-two))))
は4になります。
今、私は文字列をred-blue
交互に繰り返すというストリームを書き込もうとしていますが、それを構築する方法について少し混乱していますred
blue