腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
文章
问答
(9999+)
视频
沙龙
1
回答
文件
OCaml
的
尾部
递归
读取
、
、
、
我写了一个函数,这样打印
文件
的
所有内容 let rec print_file channel = begin Some line -> (print
浏览 16
提问于2019-12-15
得票数 1
回答已采纳
1
回答
有人能像我五岁一样解释
OCaml
尾巴回溯吗?
我不能把我
的
大脑绕在
尾部
递归
,特别是在
ocaml
中,也不能解释为什么在结尾调用" in“函数。我说
的
是最基本
的
尾部
递归
函数。
浏览 2
提问于2022-02-14
得票数 1
回答已采纳
1
回答
Ocaml
尾部
递归
版本
我有一个名为zip_with_2_fs
的
函数。我试图让它成为尾
递归
(zip_with_2_fs_tr),但我真的不知道我在做什么。我是
Ocaml
的
新手,希望对尾
递归
和助手函数有更深入
的
了解。
浏览 11
提问于2021-05-05
得票数 0
2
回答
在
OCaml
中连接字符串
、
、
、
我正在编写一个
递归
OCaml
函数,它将字符串列表中
的
字符串用分隔符连接起来,而不是在最后一项上放置分隔符,但是我遇到了一些问题。我知道有一个string.concat函数,但我不喜欢使用它,以便了解
OCaml
如何在幕后执行这些操作。end我使用模式匹配来匹配字符串列表l,并涵盖三种情况:如果字符串列表为空,则案例1不返回任何内容;如果列表不包含
尾部
,则案例2仅返回头部。Tail three执行连接,同时在连接函数上
递归
,以连接列表中
的
其他项,并在其间使用字符串分隔
浏览 1
提问于2018-09-11
得票数 2
1
回答
什么是
尾部
递归
解决方案
的
反面?
、
我正在解决中
的
问题4,我还在学习
OCaml
let length in_list = let rec find_len cur_length = funct
浏览 2
提问于2020-04-01
得票数 1
回答已采纳
2
回答
如何使用
OCaml
的
[@tail tail]注释来断言尾
递归
?
、
在
OCaml
中,[@tailcall]注释允许断言特定
的
函数调用是
尾部
调用(所以希望整个函数都是
尾部
递归
的
)。问题是:我到底应该把注解放在哪里?显而易见,简单
的
例子: | 0 -> 0let rec f = function |
浏览 2
提问于2016-08-09
得票数 4
3
回答
OCaml
中
的
尾部
调用转换
、
、
我被告知下面的函数不是尾
递归
函数,因为布尔运算符是在
递归
调用之后计算
的
: [] -> false但这并不会破坏1000万大小列表上
的
堆栈,更重要
的
是,它是标准库中
的
实现。如果它不是尾
递归
,就没有理由使用这种形式,而不是看似等价且清晰
的
尾
递归
浏览 0
提问于2012-07-08
得票数 6
回答已采纳
2
回答
OCaml
中
的
尾
递归
归并排序
、
、
我正在尝试在
OCaml
中实现一个尾
递归
列表排序函数,并编写了以下代码: let split l = in sort l然而,它似乎并不是真正
的
尾
递归
,因为我遇到了“求值过程中
的
堆栈溢出(循环
递归
?)”。你能帮我找出这段
浏览 0
提问于2010-03-27
得票数 8
回答已采纳
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
1
回答
OCaml
中
的
无限
递归
类型
、
、
我正在
读取
这个
OCaml
文件
,它包含以下内容: type z = Z of z 这看起来像z是无限
递归
的
。它是如何有用
的
,我如何构造这样
的
类型?
浏览 8
提问于2021-10-22
得票数 2
1
回答
如何在
OCaml
中返回浮点数?
、
、
、
我用
OCaml
编写了这个简单
的
函数来计算列表
的
和: match lst with | h :: t -> h我会收到一个错误: but an expression was expected of type int 如果列表是空
的
,
浏览 5
提问于2022-06-03
得票数 0
回答已采纳
2
回答
尾部
递归
在
OCaml
中
的
应用
、
、
、
我用
Ocaml
编写了这个函数,但是我想写同样
的
东西,首先应用尾
递归
,然后是fold_left。:: t -> then h :: check fore t 这就是我到目前为止所做
的
。它返回大于给定参数
的
列表(即最初给出
的
列表)。
浏览 2
提问于2013-11-04
得票数 4
回答已采纳
1
回答
如何在
Ocaml
中检查非空列表?
我正在尝试使用
Ocaml
学习函数式编程,我想实现一个函数,它返回列表中元素
的
和。我想用write循环来完成它,但是我想不出写支票
的
方法。我想象过这样
的
事情 let j = ref 1 in while xs <> []j hd ;上失败了 错误:此表达式
的
类型为“a list ->”a,但预期表达式为int类型。
浏览 3
提问于2022-09-29
得票数 0
2
回答
逐行
读取
文件
并存储在列表中
、
、
我有一个包含几行文本
的
input.txt
文件
。我试图将这些行存储在列表l中。我认为我做
的
是正确
的
,但是列表l没有更新。请帮帮忙。
浏览 4
提问于2016-04-08
得票数 0
回答已采纳
1
回答
OCaml
:快速排序-
尾部
递归
,无限循环?
、
、
当我编译我
的
代码是正常
的
,但当我调用并执行函数Quicksort时,程序似乎处于无限循环中。我能做些什么?我测试了所有的函数,但似乎问题出在tQuicksort函数中。我是个初学者。
浏览 10
提问于2017-07-14
得票数 2
回答已采纳
4
回答
Ocaml
-将列表
的
最后一个元素移到最前面
、
、
、
首先,如果这是一种混乱或倒退
的
方式来完成我想要完成
的
事情,我道歉,但我对"
Ocaml
style“还是个新手。我知道
Ocaml
中
的
列表基本上是链表,所以我计划
递归
地迭代列表,找到最后一个元素,然后让该元素
的
尾部
/剩余列表指向列表
的
头部。我
浏览 2
提问于2011-03-23
得票数 4
回答已采纳
1
回答
组合函数
如何编写接受列表列表并返回元素组合
的
函数。假设输入为[ 1; 2;3;4 ]输出为1;2;3;4。另一个输入[1;2;3;4],则输出为[1;3;1;4;2;3;2;4]。
浏览 2
提问于2022-11-20
得票数 -1
3
回答
尾部
调用和
尾部
递归
有什么区别?
、
我知道尾
递归
是函数对自身进行
尾部
调用
的
一种特殊情况。但是我不明白
尾部
调用和
尾部
递归
有什么不同。在具有实现TCO (
尾部
调用优化)
的
“正确
尾部
递归
”语言中,如Scheme,这意味着
尾部
调用和
尾部
递归
不会消耗堆栈或其他资源。在编译器不能优化尾
递归
语言中,程序可能会在堆栈之外运行并崩溃。在“正确
的
尾
递归
”语言中,我认
浏览 0
提问于2012-08-21
得票数 19
2
回答
F#与
OCaml
:堆栈溢出
、
、
、
对于x和y坐标的数字之和大于25
的
点,蚂蚁是无法访问
的
。例如,点(59,79)无法访问,因为5+9+7+9= 30,大于25。与莱昂纳多
的
C++实现相比,
OCaml
版本
的
运行速度大约比C++慢2倍。这是好
的
,考虑到Leonardo使用了一个队列来删除
递归
。
浏览 0
提问于2011-09-24
得票数 65
回答已采纳
点击加载更多
热门
标签
更多标签
云服务器
ICP备案
云直播
腾讯会议
实时音视频
活动推荐
运营活动
广告
关闭
领券