是否有可能只接受整数列表的Ocaml函数?

时间:2010-04-12 01:24:16

标签: list types ocaml

我正在Ocaml中编写一个递归函数,它应该计算整数列表中的项目数(是的,我知道有一个List.length函数,但我正在尝试自己做)。然而,Ocaml编译器/解释器迫使我一直使用alpha列表。

因此,当一个函数接受一个列表作为参数时,该列表的类型必须始终为alpha,这是错误的吗?感谢

编辑:为什么我不方便使用alpha列表的原因是因为类型匹配投诉我无法将alpha列表的头部与整数值进行比较

1 个答案:

答案 0 :(得分:6)

易:

 let length (lst : int list) = ...

我有点困惑,比较绊倒了你;与整数进行比较应该只将'a约束为int。例如,在

let length lst = match lst with
  | x :: xs when x = 0 -> ...

lst的类型为int list

相关问题