腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
文章
问答
(9999+)
视频
沙龙
1
回答
Ocaml
尾部
递归
版本
我试图让它成为尾
递归
(zip_with_2_fs_tr),但我真的不知道我在做什么。我是
Ocaml
的新手,希望对尾
递归
和助手函数有更深入的了解。
浏览 11
提问于2021-05-05
得票数 0
1
回答
有人能像我五岁一样解释
OCaml
尾巴回溯吗?
我不能把我的大脑绕在
尾部
递归
,特别是在
ocaml
中,也不能解释为什么在结尾调用" in“函数。我说的是最基本的
尾部
递归
函数。
浏览 2
提问于2022-02-14
得票数 1
回答已采纳
2
回答
OCaml
中的尾
递归
归并排序
、
、
我正在尝试在
OCaml
中实现一个尾
递归
列表排序函数,并编写了以下代码: let split l = in sort l然而,它似乎并不是真正的尾
递归
,因为我遇到了“求值过程中的堆栈溢出(循环
递归
?)”。你能帮我找出这段代码中的非尾
递归
调用吗
浏览 0
提问于2010-03-27
得票数 8
回答已采纳
2
回答
在
OCaml
中连接字符串
、
、
、
我正在编写一个
递归
OCaml
函数,它将字符串列表中的字符串用分隔符连接起来,而不是在最后一项上放置分隔符,但是我遇到了一些问题。我知道有一个string.concat函数,但我不喜欢使用它,以便了解
OCaml
如何在幕后执行这些操作。end我使用模式匹配来匹配字符串列表l,并涵盖三种情况:如果字符串列表为空,则案例1不返回任何内容;如果列表不包含
尾部
,则案例2仅返回头部。Tail three执行连接,同时在连接函数上
递归
,以连接列表中的其他项,并在其间使用字符串分隔符。然而,我不确定如何实现这一点,同
浏览 1
提问于2018-09-11
得票数 2
1
回答
什么是
尾部
递归
解决方案的反面?
、
我正在解决中的问题4,我还在学习
OCaml
let length in_list = | [] -> cur_length |hd::tl -> f
浏览 2
提问于2020-04-01
得票数 1
回答已采纳
2
回答
如何使用
OCaml
的[@tail tail]注释来断言尾
递归
?
、
在
OCaml
中,[@tailcall]注释允许断言特定的函数调用是
尾部
调用(所以希望整个函数都是
尾部
递归
的)。问题是:我到底应该把注解放在哪里?*) 我可以从汇编代码中看到,后一个示例被编译器识别为尾
递归
。所以,在有人实现[@tailrec]之前:我到底应该把我的[@tailcall]注释放在哪里?(如果在第二个示例中可能的话)
浏览 2
提问于2016-08-09
得票数 4
1
回答
不进行
尾部
调用优化的尾
递归
、
、
假设我们有两个
版本
的
递归
函数,其中一个是尾
递归
函数。如果所使用的语言没有
尾部
调用优化,那么使用函数尾
递归
有什么好处吗?据我所知,在没有优化的情况下,函数的每个
版本
(
尾部
和非
尾部
)将使用相同数量的堆栈框架(在大多数情况下)。我知道在某些情况下,例如Fibonacci函数,即使没有
尾部
调用优化,使用
尾部
调用也会更有效率,因为它避免了双重调用。但是,如果两个
版本
的函数都没有进行双重调用呢?尾
递归<
浏览 14
提问于2021-03-01
得票数 0
1
回答
文件
OCaml
的
尾部
递归
读取
、
、
、
with | None -> () 现在它的工作方式就像常规的尾
递归
函数
浏览 16
提问于2019-12-15
得票数 1
回答已采纳
1
回答
OCaml
是否可以检查
尾部
递归
有没有办法让
ocaml
告诉我一个函数是否使用尾
递归
实现了
递归
?我不是指阅读代码。我的意思是让
ocaml
告诉我,像这样说: let x = tail_recursion f;;
浏览 1
提问于2014-02-07
得票数 4
1
回答
OCAML
尾部
递归
合并排序
、
、
我有一些用
OCaml
编写的代码,其中我试图创建一个函数,该函数接受一个列表并通过合并排序对其进行排序。[])let (l1,l2) = split ls ([],[]) in merge (msort l1) (msort l2);; 当我尝试编译代码时,它显示“计算期间堆栈溢出(循环
递归
我想知道如何更改主体,使其不会无限
递归
,并想知道如何以及在哪里添加基本案例到主体。谢谢!
浏览 13
提问于2020-09-22
得票数 0
2
回答
如果char列表中存在char,则
OCaml
计数:语法错误
let count (l: char list) : bool = let rec check l = | [] -> false let cnt + 1 else check t;;如果“a”存在,则添加1,如果“b”存在,则添加-1。
浏览 3
提问于2021-01-27
得票数 0
回答已采纳
3
回答
OCaml
中的
尾部
调用转换
、
、
我被告知下面的函数不是尾
递归
函数,因为布尔运算符是在
递归
调用之后计算的: [] -> falselet rec exists p = function | a::l -> if p a thentrue else exists p l 因此,似乎
OCaml
编译器
浏览 0
提问于2012-07-08
得票数 6
回答已采纳
1
回答
如何在
OCaml
中返回浮点数?
、
、
、
我用
OCaml
编写了这个简单的函数来计算列表的和: match lst with | h :: t -> h
浏览 5
提问于2022-06-03
得票数 0
回答已采纳
2
回答
F#与
OCaml
:堆栈溢出
、
、
、
与莱昂纳多的C++实现相比,
OCaml
版本
的运行速度大约比C++慢2倍。这是好的,考虑到Leonardo使用了一个队列来删除
递归
。$ mono -V | head -1user 0m0.567s令人惊讶的是,它在Mono2.10.5(即
浏览 0
提问于2011-09-24
得票数 65
回答已采纳
3
回答
将F# seq表达式转换为
OCaml
、
在我试图转换为F#的
OCaml
代码中,我遇到了以下情况: seq { } 我想知道如何将带产的seq{.}表达式转换为
OCaml
?我的第一个猜测是,seq必须成为一个列表。
浏览 2
提问于2013-01-20
得票数 3
回答已采纳
1
回答
如何在
Ocaml
中检查非空列表?
我正在尝试使用
Ocaml
学习函数式编程,我想实现一个函数,它返回列表中元素的和。我想用write循环来完成它,但是我想不出写支票的方法。
浏览 3
提问于2022-09-29
得票数 0
1
回答
OCaml
:快速排序-
尾部
递归
,无限循环?
、
、
当我编译我的代码是正常的,但当我调用并执行函数Quicksort时,程序似乎处于无限循环中。我能做些什么?我测试了所有的函数,但似乎问题出在tQuicksort函数中。我是个初学者。 match l with | x::xs -> x;; match l with | x::xs -> xs;;
浏览 10
提问于2017-07-14
得票数 2
回答已采纳
2
回答
尾部
递归
在
OCaml
中的应用
、
、
、
我用
Ocaml
编写了这个函数,但是我想写同样的东西,首先应用尾
递归
,然后是fold_left。
浏览 2
提问于2013-11-04
得票数 4
回答已采纳
2
回答
流(又称“惰性列表”)和尾
递归
、
此问题使用以下“惰性列表”(又名“流”)类型:我的问题是:如何定义一个
尾部
递归
函数lcycle我已经实现了几个非尾
递归
的lcycles
版本
,例如: let rec inner l' = | [] -> raise基本上,我遇到了这样的问题:惰性计算是通过表单的构造来实现的
浏览 4
提问于2014-11-20
得票数 2
4
回答
Ocaml
-将列表的最后一个元素移到最前面
、
、
、
首先,如果这是一种混乱或倒退的方式来完成我想要完成的事情,我道歉,但我对"
Ocaml
style“还是个新手。我知道
Ocaml
中的列表基本上是链表,所以我计划
递归
地迭代列表,找到最后一个元素,然后让该元素的
尾部
/剩余列表指向列表的头部。
浏览 2
提问于2011-03-23
得票数 4
回答已采纳
点击加载更多
热门
标签
更多标签
云服务器
ICP备案
云直播
腾讯会议
实时音视频
活动推荐
运营活动
广告
关闭
领券