腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
文章
问答
(9999+)
视频
沙龙
1
回答
`
scala
.util.control.TailCalls.
TailRec
`和`
scala
.annotation.
tailrec
`有什么区别?
scala
、
recursion
scala
标准库似乎提供了两种方法来确保
递归
函数
不会导致
堆栈
溢出
。有什么关系?当编译器似乎能够为我做这件事时,是否有任何理由使用
TailRec
?
浏览 0
提问于2017-05-03
得票数 1
回答已采纳
2
回答
Scala
:为什么在
Scala
中
递归
比使用循环更好?(仅仅是因为突变?)(尾部回收器
与
蓄能器)
scala
、
recursion
但是,在
Scala
中,
递归
是否仅仅因为可变性而被认为是遍历循环的呢?简而言之,我有两个问题: ,因为
尾
递归
不能用于解决所有循环问题(或者可以吗?),基于
尾
浏览 2
提问于2021-11-26
得票数 0
回答已采纳
2
回答
如何使用TailCalls?
scala
、
tail-recursion
、
trampolines
如果我正确理解,可以使用
scala
.util.control.TailCalls来避免
非
尾
递归
函数
的
堆栈
溢出
。API中给出的示例非常简单: def isO
浏览 2
提问于2010-12-13
得票数 20
回答已采纳
1
回答
Scala
尾部
递归
java.lang.StackOverflowError
scala
、
tail-recursion
下面的
尾
递归
函数
工作正常,但过一段时间它会运行到一个java.lang.StackOverflowError中。每个迭代查询的结果包含两到三行,结果大约每秒钟返回一次。
浏览 3
提问于2016-05-24
得票数 0
回答已采纳
1
回答
Idris使用
尾
调用优化吗?
tail-recursion
、
idris
Scala
有
尾
调用优化( TCO ),如果编译器不能使用TCO优化
递归
函数
,我可以告诉编译器停止。例如,请参见 。case x :: xs => x.length :: allLengths(xs)但是,如果我用annotation.
tailrec
注释它,编译器就会出错
错误
:无法优化@ tail zip使用@
tailrec
,
Scala
通过将代码转换为不存在
递归
错误
风险的命令式循环来编译代码。我相信,作
浏览 2
提问于2020-06-30
得票数 4
1
回答
尾
递归
(@
tailrec
)
递归
函数
与
非
递归
函数
scala
堆栈
溢出
错误
?
scala
、
recursion
、
stack-overflow
、
tail-recursion
、
akka-stream
again; can sleep for a while here }}offset := 0 def pump(): Unit = {
浏览 16
提问于2017-02-01
得票数 0
2
回答
这段代码不是
尾
递归
风格的吗?
scala
、
functional-programming
、
tail-recursion
我是
Scala
的新手,在阅读David Pollack的“乞讨
Scala
”时尝试了一下。他定义了一个简单的
递归
函数
来加载文件中的所有字符串: case null据我所知,
Scala
支持
尾
递归
,所以
函数
调用不可能
溢出
堆栈
,可能是编译器无法识别它?因此,在谷歌搜索之后,我尝试了@
浏览 0
提问于2011-05-15
得票数 46
回答已采纳
2
回答
懒惰的val会是尾部
递归
的吗?
scala
、
tail-recursion
lazy val seq: Unit = { seq我们能
递归
地调用
尾
上面的表达式吗?
浏览 5
提问于2014-08-18
得票数 4
回答已采纳
2
回答
编译器被提及
非
尾部位置的
递归
函数
所欺骗
scala
、
functional-programming
、
tail-recursion
我试图通过构建一个(自定义)延续来实现对结构的
尾
递归
操作,但是编译器不会接受我的代码是
尾
递归
的。只要我试图声明一个在
非
尾部位置引用
递归
函数
的
函数
文字,它就会抛出一个
错误
,即使我在这里没有调用该
函数
。下面是一个非常精炼的虚拟示例,说明了触发
错误
的原因:object Test extends App {
浏览 0
提问于2012-09-11
得票数 4
2
回答
使方法实际上内嵌
scala
、
annotations
、
inline
我构建了一个简单的示例来检查@inline注释行为: @inlineprivate def corec(x : Int) : Int = rec(x - 1) private def rec(x : Int) : Int = if (x % 3 == 0) else
浏览 5
提问于2014-08-30
得票数 7
回答已采纳
1
回答
@
tailrec
会影响编译器优化吗?
scala
、
recursion
、
compiler-optimization
、
tail-recursion
我查看了,试图更好地理解
scala
中的@
tailrec
注释。 我不确定的是,注释是否也暗示编译器进行一些优化,还是只在标记不是
尾
递归
的方法时才用于警告?例如,如果我不添加这个注释,编译器将将一个
尾
递归
函数
编译为
非
尾
递归
函数
?
浏览 3
提问于2014-05-08
得票数 0
回答已采纳
3
回答
可以实现
尾
递归
function
、
scala
、
tail-recursion
我有一些
递归
代码,我想重构使用中的
尾
递归
,我可以将
递归
简化为如下所示,请忽略这个功能想要实现的功能。@
tailrec
case Nil => 0如果我去掉了
tailrec
注释,它工作得很好,结构看起来像这个doStuff(.))。它将有
堆栈
溢出
异常。 那么,如果它是一个
函数</
浏览 9
提问于2014-09-02
得票数 0
回答已采纳
4
回答
Scala
支持
尾
递归
优化吗?
performance
、
scala
、
tail-recursion
Scala
支持
尾
递归
优化吗?
浏览 0
提问于2009-11-05
得票数 65
回答已采纳
1
回答
Scala
中的
尾
递推因子
函数
scala
、
recursion
、
tail-recursion
我认为下面的阶乘
函数
是
尾
递归
函数
,当我测试它时,可以工作到10,在20 (负输出)时变得很奇怪,当我插入100时,答案是0: if (n == 0) m else fact(n-1, m * n)error: not found: type
tailrec
我不明白为什么这个
函数
不是
尾
浏览 6
提问于2020-10-10
得票数 1
回答已采纳
1
回答
当
scala
中没有
尾
递归
优化时
堆栈
溢出
?
scala
、
tail-recursion
我正在自己从
scala
编译器源代码构建
scala
编译器。在编译器的源代码中,有许多
尾
递归
函数
/方法.从源代码构建
scala
编译器还需要编译编译器本身的源代码。如果在编译源代码期间添加选项-g:notailcalls来关闭
尾
递归
优化,则在运行构建的编译器时会出现statck
溢出
错误
。总之,在一个具有许多
递归
调用的大型复杂
scala
程序中,在编译时省略
尾
<e
浏览 2
提问于2015-09-04
得票数 1
回答已采纳
1
回答
导致
堆栈
溢出
的Kotlin
尾
递归
函数
recursion
、
kotlin
、
tail-recursion
我正在使用来练习basic Kotlin,我在
递归
返回线上使用以下代码遇到了
堆栈
溢出
: fun isPalindrome(s: String): Boolean{
tailrec
fun isPalindrome& isPalindrome(start+1, end-1)
浏览 9
提问于2019-11-10
得票数 2
回答已采纳
4
回答
scala
:使
函数
尾
递归
scala
、
tail-recursion
我在
scala
中有以下
函数
:{ case x::xs => e == x || is_in(e, xs);现在,我想使这个
函数
尾
递归
。我的想法如下:{ @
tailrec
浏览 4
提问于2019-11-29
得票数 1
回答已采纳
1
回答
Scala
会在没有蹦床的情况下在
尾
递归
中
堆栈
溢出
,这是哪种语言管理的?
scala
、
recursion
、
functional-programming
、
stack-overflow
我正在使用
Scala
学习
函数
式编程,并看到了Runar 的精彩演讲。是否有语言已经解决了这个问题:
尾
递归
消除(不使用蹦床或其他显式构造)我知道
Scala
可以将自调用
尾
递归
转换为循环,从而避免了
堆栈
的创建,但是也有
递归
,
scala
编译器不接受在3min-7m片段上显示的@annotation.
tailrec
。但是,很高兴知道Bjarnason提供的其他语言特性是否已经由某种语言来管理:类引用-更
浏览 1
提问于2014-06-17
得票数 0
回答已采纳
4
回答
如何使一个涉及期货尾部
递归
的
函数
?
scala
、
dictionary
、
recursion
、
future
、
tail
在我的
Scala
应用程序中,我有一个
函数
,它调用一个返回FutureT类型结果的
函数
。我需要在我的
递归
函数
调用中传递映射结果。我希望这是
尾
递归
的,但是map (或flatMap)破坏了这样做的能力。我收到一个
错误
"Recursive call not in tail position“。 下面是此场景的一个简单示例。如何修改这一点以使调用是
尾
递归
的(而不破坏带有Await.result()的Futures的
浏览 4
提问于2013-06-07
得票数 24
回答已采纳
2
回答
OCaml中的
尾
递归
归并排序
sorting
、
ocaml
、
tail-recursion
我正在尝试在OCaml中实现一个
尾
递归
列表排序
函数
,并编写了以下代码: let split l = in sort l然而,它似乎并不是真正的
尾
递归
,因为我遇到了“求值过程中的
堆栈
溢出</em
浏览 0
提问于2010-03-27
得票数 8
回答已采纳
点击加载更多
相关
资讯
递归算法在 C 语言中有什么限制?
Java初学者的30个常见问题
廖雪峰Python02
Python之路-day3
周而复始,往复循环,递归、尾递归算法与无限极层级结构的探究和使用(Golang1.18)
热门
标签
更多标签
云服务器
ICP备案
对象存储
实时音视频
云点播
活动推荐
运营活动
广告
关闭
领券