【问题标题】:Using nested functions使用嵌套函数
【发布时间】:2013-10-10 02:53:30
【问题描述】:

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

这是我目前得到的:

let min a b = if a

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

【问题讨论】:

  • 你有一些括号问题。
  • 我应该在所有值上加上括号吗?
  • 更正——我得到了它的工作!该死的括号 xD 如果您想要积分,请将其作为答案发布!

标签: functional-programming ocaml


【解决方案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]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-14
    • 2018-03-15
    • 2014-08-31
    • 2014-03-26
    • 2020-11-02
    • 1970-01-01
    相关资源
    最近更新 更多