【发布时间】:2013-03-30 00:52:33
【问题描述】:
感谢您的帮助。我目前正在处理一项任务,并且遇到了错误的递归调用。 我有一个简单的 CAML-Light 函数,它应该接受一个列表和一个大小(数字),并返回一个包含该列表的一部分、该大小的列表以及一个包含其余部分的列表。其实很简单,就是从过去的 PLT-Scheme 项目中翻译过来的。
但是,递归调用有问题。我只是不知道为什么它不起作用。函数是这样的:
let rec cortar texto longitud resultado = match texto, longitud with
| _::t,0 -> resultado::(t::[])
| c::t,x-> cortar t (longitud-1) (consderecha resultado c);;
经度是定义大小的整数。恐怕我做错了什么,因为它似乎无限循环,因为“经度”永远不会达到 0。我(你可能猜到)是 ML 的新手,它是方言,所以任何帮助都会非常感激。
谢谢!
编辑:解决了,实际上并没有……原来我是在列表中用逗号而不是分号调用函数。是的。所以谢谢!!
【问题讨论】: