gpt4 book ai didi

lisp - "unfold"用于常见的 lisp?

转载 作者:太空宇宙 更新时间:2023-11-03 18:34:24 25 4
gpt4 key购买 nike

我从 SICP 学到了很多 scheme,但现在对 common lisp 更感兴趣。我知道常见的 lisp 的 foldreduce,有左折叠或右折叠的特殊参数,但是 unfold 的等价物是什么?谷歌搜索没有多大帮助。事实上,我的印象是没有展开???

最佳答案

Common Lisp 有(loop ... collect ...)。比较

(loop for x from 1 to 10 collect (* x x))

使用 unfold 的等价物:

(unfold (lambda (x) (> x 10))  (lambda (x) (* x x))  (lambda (x) (+ x 1))  1)

一般来说,(unfold p f g seed)基本上就是

(loop for x = seed then (g x) until (p x) collect (f x))

编辑:修正拼写错误

关于lisp - "unfold"用于常见的 lisp?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1623259/

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