使用嵌套函数

时间:2013-10-09 17:54:18

标签: functional-programming ocaml

我有问题: 编写一个名为minimum6的函数,它接受6个参数并返回最小的参数。 示例:minimum6 10 20 30 40 50 60 = 10

这是我到目前为止所得到的:

  

让min a b =如果a< b然后a b ;;   设最小6 x1 x2 x3 x4 x5 x6 = min(min(min(min(min x1 x2)x3)x4)x5)x6);;

然而,我得到'这个表达式有类型int但是表达式需要'a - >类型'b'指向第一个'10' 我是语言的新手,我做错了什么?是因为我在函数中使用了函数吗?

1 个答案:

答案 0 :(得分:1)

你有一些括号问题。 :)

你也可以做一些更普遍的事情。类似的东西:

let rec list_min min = function
  | [] -> min
  | x::xs -> if x < min then list_min x xs else list_min min xs

let min6 x1 .. x6 = list_min x1 [x2; ...; x6]