我正在基于C++中的自定义数据结构list_t的项目工作。 这里是预定义的函数,它可以帮助我操作这个list_t,并且我被要求写入的函数被称为insert_list(list_t,list_t,int)是尾递归的。 typedef Recursive_list list_t;
// EFFECTS: returns true if list is empty, false otherwise
我想一个函数f适用于List的每个元素,并在第一个错误不会停止,但是只能扔过去的错误(如果有的话): @annotation.tailrec
def tryAll[A](xs: List[A])(f: A => Unit): Unit = {
xs match {
case x :: xt =>
try {
f(x)
} finally {
我想这个递归函数转换成尾递归函数 def sumOfFractions(n: Int): Double = {
require(n > 0, "Parameter n has to be greater than 0");
if (n==1)
1.0
else
1.0/n + sumOfFractions(n - 1)
}
我认为,这个解决方
我想找到一个二叉树的尾递归折叠函数。鉴于以下定义: // From the book "Functional Programming in Scala", page 45
sealed trait Tree[+A]
case class Leaf[A](value: A) extends Tree[A]
case class Branch[A](left: Tree[A], right: T