tail-recursion

    0热度

    1回答

    我是F#的新手,并试图学习如何在F#中使用递归函数。我正在尝试创建自己的功能,并且无法使其正常工作。到目前为止,我设法做到的是获得10个随机数并将其打印出来。我在网上找到的这两部分代码。我想使用排序函数(最终它将是一个排序函数,但我没有要求),并且无法使其工作。我把一个//放在我认为我遇到麻烦的地方。我不知道这是什么功能都可以,但是我我以前写的我只是想玩弄它 let randomNumberLis

    1热度

    3回答

    我试图解决这个问题。我想知道是否有人会帮助开始或给我一些提示。 函数调用apply-all,当给出函数和数字列表时,将产生函数的值的列表,当应用于该数字时。 例如, (apply-all (list sqrt square cube) 4) =>(2 16 64) 由于 确定。这是我到目前为止, (define (apply-all lst num) (apply-allaux lst

    1热度

    5回答

    我正在阅读这篇文章While or Tail Recursion in F#, what to use when?有几个人说,做事的'功能方式'是通过使用maps/fold和higher order函数来代替递归和循环。 我有这个函数返回列表中的位置x项目: let rec getPos l c = if c = 0 then List.head l else getPos (List.tail

    11热度

    5回答

    从在此站点和Web上搜索其他位置,JVM不支持尾部调用优化。那么这是否意味着如果要在非常大的输入列表上运行的尾部递归Scala代码(如以下代码),如果要在JVM上运行,则不应该被写入? // Get the nth element in a list def nth[T](n : Int, list : List[T]) : T = list match { case Nil =

    3热度

    3回答

    这个函数是否是尾递归的? let rec rec_algo1 step J = if step = dSs then J else let a = Array.init (Array2D.length1 M) (fun i -> minby1J i M J) let argmin = a|> Array.minBy snd |> fst re

    2热度

    1回答

    在下文中,行maybeNext.map{rec}.getOrElse(n)使用Option monad实现递归或转义模式。 scala> @tailrec | def rec(n: Int): Int = { | val maybeNext = if (n >= 99) None else Some(n+1) | maybeNext.m

    5热度

    2回答

    我知道Python不支持尾部呼叫优化。这是否意味着迭代过程的递归过程,如下面定义的阶乘会消耗O(n)内存,或者没有延迟操作的事实意味着空间是O(1)? def factorial(n, accum=1): if n == 0: return accum else: return factorial(n-1, accum * n)

    3热度

    2回答

    我目前正在玩斯卡拉斯无阻塞期货又名。承诺。我努力使下面的函数尾递归: @tailrec private def repeat(res: Promise[I]):Promise[I] = res map p flatMap { (b:Boolean) => if(b) repeat(res flatMap f) else res } 其中p是I=>Bo

    2热度

    1回答

    下面GCC尾调用优化的是,被编程为玩具编程语言生成的代码段,实际的代码是不同的,但下面显示了执行时确实如此, class Base{ }; Base b; class Derived{ int fibo(int i){ if(i SMALLER 2) return 1; else return (Derived)b.f

    42热度

    2回答

    我对斯卡拉有点新东西,在阅读大卫波拉克的开始Scala时尝试了一下。 他定义加载从文件中的所有字符串一个简单的递归函数: def allStrings(expr: => String): List[String] = expr match { case null => Nil case w => w :: allStrings(expr) } 它的优雅和真棒,除了它抛出了