我的问题与this one https://stackoverflow.com/questions/249374/scheme-procedure-to-compute-the-nth-repeated-application-of-a-function但就我而言,我想获得一个列表,其中包含某个函数的 n 个应用程序的结果,该函数的输出无法再次使用先前的结果进行计算(例如,从列表中随机选取一个元素)。
也就是说,它是not函数与其自身的组合 n 次,但 n 个结果一起显示在列表中。
像这样的东西吗?
#!racket/base
(require srfi/1)
(define (times/list proc n)
(unfold-right zero? proc sub1 n))
(times/list (lambda (v) (abs (- v 5))) 10)
; ==> (4 3 2 1 0 1 2 3 4 5)
(times/list (lambda _ 5) 10)
; ==> (5 5 5 5 5 5 5 5 5 5)
(times/list (lambda _ (+ 1 (random 5))) 10)
; ==> (4 2 2 4 4 1 5 3 1 3) (varies)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)