我有一个关于尝试在Racket中定义一个递归定义的foldl函数的问题。 以下是我的方法: (define foldl (match xs ((make-pair x xs) (foldl c (c z x) xs))))) 不幸的是,当我这样做时,我得到了错误: expected a function after the open parenthesis but received 1 我不太明白为什么会弹出这条消息。有人能帮我吗?
在函数式编程中,有两种重要的方法:foldLeft和foldRight。B) => B): B = ls match { case Cons(x, xs) => f(x, foldRight(xs, z)(f))下面是foldLeft的实现 def foldLeft[A, B](ls: List[A], z: B)(f: (B, A) => B): B = ls match {case Nil => z