gpt4 book ai didi

stream - 交替两个值

转载 作者:行者123 更新时间:2023-12-04 00:06:35 25 4
gpt4 key购买 nike

我有密码

(define alternate
(letrec ([f (lambda (x) (cons x (lambda () (f (+ x 1)))))])
(lambda () (f 1))))

结果是 1,2,3..我怎么能把它改成 1,2,1,2,1,2..

我在 f 中尝试了 cons 但没有用。有什么想法吗?

最佳答案

您可能还会发现生成器很有用:docs

Welcome to DrRacket, version 5.3.3.5 [3m].
Language: racket [custom].
> (require racket/generator)
> (define g (generator () (let LOOP () (yield 1) (yield 2) (LOOP))))
> (g)
1
> (g)
2
> (g)
1
> (g)
2

更新:

更好的是,使用无限生成器:

Welcome to DrRacket, version 5.3.3.5 [3m].
Language: racket [custom].
> (require racket/generator)
> (define g (infinite-generator (yield 1) (yield 2)))
> (g)
1
> (g)
2
> (g)
1
> (g)
2

关于stream - 交替两个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15057464/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com