腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
基于
Flatmap
的
Scala
尾部
递归
、
、
我有一个
递归
调用,定义如下: def getElems[A](a: A)(f: A => List[A]): List[A] = {} elems.
flatMap
(elem => { } else elems} 可以看到,对于elem
浏览 13
提问于2021-04-02
得票数 1
回答已采纳
1
回答
Scala
:蹦床函数
的
扩展语法中断尾
递归
、
、
这是“
Scala
中
的
函数编程”(Functional in
Scala
)第13章中
的
一个练习,用于实现用于解释尾
递归
函数
的
蹦床。runTrampoline2不是尾
递归
的
,它用我
的
测试输入溢出堆栈.此外,tailrec注释为runTrampoline2提供了一个编译器错误。runTrampoline是尾
递归
的
,并通过注释
的
编译时检查。如果有人评论了对这个问题很重要的话,我将包括免费m
浏览 1
提问于2015-07-25
得票数 3
回答已采纳
2
回答
为什么Haskell不需要弹跳?
、
、
、
、
作为学习IO Monad
的
Scala
开发人员,以及在不可能进行
尾部
调用优化
的
情况下
递归
所必需
的
一般技术细节,我想知道Haskell似乎是如何本能地避免它
的
。我知道Haskell是一种懒惰
的
语言,但是我想知道是否有人可以更详细地说明一下。 例如,为什么ForeverM不能在
scala
中堆栈溢出?好
的
,我可以回答这个问题,我可以在库和博客中找到做这件事
的
实际代码。实际上我自己实现了一个基本
的</
浏览 18
提问于2021-04-22
得票数 21
2
回答
如何使这个
Scala
函数( "
flatMap
“变体)
尾部
递归
?
、
、
Nil => Nil } 我得到了一个大值
的
StackOverflowError,大概是因为这个函数不是尾
递归
的
。
浏览 0
提问于2011-12-10
得票数 6
回答已采纳
1
回答
为什么嵌套
的
FlatMaps会破坏
Scala
中
的
堆栈?
、
、
、
我正在通过阅读Rünar Bjarnason
的
这篇论文来学习
Scala
中
的
跳床技巧。但是我被4.3节“容易出错
的
事情”卡住了。有一件事让我感到困惑,那就是在给定
FlatMap
(x, f)
的
情况下,f(x)如何直接触发另一个内部调用。resume已经是一个尾
递归
,所以它必须发生在一个resume调用中。=============
Scala
编译器只能在本地/最终
尾部
浏览 3
提问于2017-07-13
得票数 3
2
回答
进行
递归
调用,
尾部
递归
、
我有以下
递归
函数 trait SequenceGenerator[T] { l.
flatMap
(rule.generate) case a => program(sequenceNumber(seed, a - 1))
浏览 29
提问于2019-04-14
得票数 3
回答已采纳
2
回答
java是否支持并优化了尾
递归
调用?
、
、
、
、
假设我得到了一个
尾部
递归
的
递归
函数。我想知道这个函数是否会被实现为
递归
,在堆栈上增长,还是会被更改为循环(因为它是一个尾
递归
函数)?我刚刚读到
Scala
会检测到这类调用并对其进行优化,但这是
Scala
独有的还是一般意义上
的
JVM?
浏览 85
提问于2013-12-29
得票数 26
回答已采纳
1
回答
Scala
尾部
递归
、
所以我有一个
递归
函数,它把两个数字相乘,很简单。def mul(n: Int, m: Int):Int = else n iter(n, m)但是,我得到了以下错误: 错误:无法优化@ tail iter注释方法iter:它包含一个不位于
尾部
位置
的
递归
调用我应该如何重构我
的<
浏览 2
提问于2017-09-27
得票数 3
回答已采纳
2
回答
Scala
:为什么在
Scala
中
递归
比使用循环更好?(仅仅是因为突变?)(
尾部
回收器与蓄能器)
、
但是,在
Scala
中,
递归
是否仅仅因为可变性而被认为是遍历循环
的
呢?简而言之,我有两个问题: ,因为尾
递归
不能用于解决所有循环
浏览 2
提问于2021-11-26
得票数 0
回答已采纳
4
回答
如何使一个涉及期货
尾部
递归
的
函数?
、
、
、
、
在我
的
Scala
应用程序中,我有一个函数,它调用一个返回FutureT类型结果
的
函数。我需要在我
的
递归
函数调用中传递映射结果。我希望这是尾
递归
的
,但是map (或
flatMap
)破坏了这样做
的
能力。下面是此场景
的
一个简单示例。如何修改这一点以使调用是尾
递归
的
(而不破坏带有Await.result()
的
Futures
的
好处)?import
浏览 4
提问于2013-06-07
得票数 24
回答已采纳
2
回答
Java中
的
尾调用优化
、
、
、
、
从Java 8开始,Java不提供尾叫优化(TCO).通过对它
的
研究,我了解了,即: PS:不确定Java
的
最新版本(截至目前
的
Java 11 )是否有TCO。备注
浏览 2
提问于2018-11-17
得票数 42
回答已采纳
1
回答
尾
递归
计数、拆分&获取列表函数
的
前缀
、
、
、
语言:
Scala
(目标):计算列表中
的
目标数
的
函数。必须是
尾部
递归
的
import
scala
.annotation.tailrec def countOnes(lst: List[Int], acc: Int =
浏览 4
提问于2022-05-13
得票数 -1
1
回答
Idris使用尾调用优化吗?
、
我是从斯卡拉来
的
。
Scala
有尾调用优化( TCO ),如果编译器不能使用TCO优化
递归
函数,我可以告诉编译器停止。例如,请参见 。zip:它包含一个不位于
尾部
位置
的
递归
调用 因为函数不直接返回对allLengths
的
调用。使用@tailrec,
Scala
通过将代码转换为不存在
递归
错误风险
的
命令式循环来编译代码。我相信,作为一个命令式循环,它也可能更快。由于来自
Scala
,我对他没有以尾<em
浏览 2
提问于2020-06-30
得票数 4
1
回答
尾
递归
:比较两种情况
、
、
、
为什么这是
尾部
递归
: def navigate(step: Int, offset: Int, myList: List[Int]): (Int,
scala
.List[Int]) = { navigate(0, 0, myList) def navigate(step: In
浏览 1
提问于2017-12-06
得票数 1
2
回答
为什么|| go(x)是
尾部
调用,而1+ go(x)不是?
、
、
我正在使用Functional Programming in
Scala
书学习
Scala
。它
的
Github同伴注释说,a || go(x)仍然是
尾部
调用优化
的
递归
,而1 + go(x)不是。
浏览 41
提问于2021-09-17
得票数 1
回答已采纳
2
回答
Scala
尾
递归
未来返回
、
、
如何用期货作为返回值在
scala
中实现尾
递归
函数: def getInfo(lists: List[Int]): Future[List[Int]] = { def getStudentIDs
浏览 0
提问于2018-03-10
得票数 1
回答已采纳
1
回答
Scala
:任务
的
Monad实例
的
尾
递归
tailRecM方法[已验证[String,?]
、
、
、
、
在cats中,当使用Monad特性创建Monad时,理想情况下应该为方法tailRecM提供
尾部
递归
实现,以确保堆栈安全。我正在使用无标记
的
最终方法,并希望对我
的
程序有一个Task[Validated[String, ?]] (Monix Task)
的
效果。import cats.Monadimport cats.data.Validate
浏览 0
提问于2018-10-04
得票数 1
回答已采纳
1
回答
Scala
和
尾部
递归
、
在堆栈溢出上有各种各样
的
答案,它们解释了在中可以使用尾
递归
的
条件。我理解它
的
局限性,以及如何和如何利用尾
递归
的
优势。我不明白
的
部分是为什么对私有或最终方法
的
限制存在。我还没有研究
Scala
编译器实际上是如何在字节码级别将
递归
函数转换为非
递归
函数
的
,但让我们假设它会执行如下操作。我有一个具有
递归
函数Foo
的
类mod。,我想象
Scala</e
浏览 3
提问于2009-11-09
得票数 4
回答已采纳
1
回答
用
scala
中
的
未来替换with循环
我有一个返回值为FutureInt
的
函数在没有任何同步代码
的
情况下,我如何使它工作呢?
浏览 4
提问于2017-07-21
得票数 7
回答已采纳
1
回答
免费Monad
的
无堆栈
Scala
,完整示例
、
、
、
下面的代码来自于一篇论文(R.O.Bjarnason,Stackless
Scala
和Free )。本文
的
标题指出了所提出
的
数据结构
的
一般目的,即在常数堆栈空间中进行
递归
处理,并让用户清楚地表达
递归
。具体而言,我
的
目标是有一个一元结构,它提供对不变
的
对树(二叉树)或列表(n叉树)
的
结构重写,这种结构是
基于
常量堆栈空间中上升时
的
简单模式匹配
的
。g) =>
FlatMap
浏览 1
提问于2013-08-25
得票数 4
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
清华科技大讲堂——李春葆:基于递归数据结构的递归算法设计
基于递归神经网络的农业应急管理的时空预测模型
大阪大学:基于递归神经网络的英日机器翻译预排序
无人驾驶中的预测模块-Apollo中基于递归神经网络的目标车道预测
好程序员大数据视频教程之快速入门Scala篇
热门
标签
更多标签
云服务器
ICP备案
对象存储
实时音视频
即时通信 IM
活动推荐
运营活动
广告
关闭
领券