我一直在用ml函数做一些事情,并且遇到了一些烦人的事情。询问ML递归函数
我会用简单的代码来解释它。 例如,如果有一个列表(int * int),并且我想检查是否有一些元组中包含3的元组。
L = [(1,2),(2,3),(3,5),(3,4)]
所以在这个名单,我想5和4 然而,ML,功能是递归的,所以如果我写这样的代码。
fun a(list) =
if #1(hd(list)) = 3 then #2(hd(list))
else a(tl(list))
在这个简单的功能
,它可以得到5而不是4因为一旦检测到(3,5)满足条件则返回5和函数完成。
有没有什么办法让4?