如何在输入元组ocaml上进行模式匹配

时间:2015-10-03 13:11:37

标签: functional-programming pattern-matching tuples ocaml

例如,我有代码

let add_next (data: int * int * int list) : int =

然而,单词数据真的很模糊,我希望能够将前两个整数命名为函数头中的列表,同时保留int * int * int list的类型。怎么办呢?

1 个答案:

答案 0 :(得分:2)

OCaml version 4.01.0

#  let add_next ((first, second, l): int * int * int list) : int = first;;
val add_next : int * int * int list -> int = <fun>

如果您需要传递data元组而不必重建它,请使用as构造:

# let add_next ((first, second, l) as data: int * int * int list) : int =
    ignore data;
    first;;
val add_next : int * int * int list -> int = <fun>