如何为该输出结合两个foldr / foldl函数? (球拍/方案)

问题描述 投票:0回答:1

我对球拍还很陌生,我想知道是否有一种方法可以组合两个文件夹功能:

'(foldr + 0 (list 1 2 3 4)) 
 ;; output = 10 -> (4+(3+(2+(1+0))))

 (foldr  * 1  (list 1 2 3 4)) 
 ;; output = 24 -> (4*(3*(2*(1*0))))'

我想接收此输出:输出= 64->(4 + 4 ∗(3 + 3 ∗(2 + 2 ∗(1 + 1 ∗ 0))))

scheme racket fold
1个回答
0
投票
(foldr (λ (x y) (* y (+ x x))) 1 (list 1 2 3 4))
; 384
© www.soinside.com 2019 - 2024. All rights reserved.