OCaml匹配元组

时间:2014-04-08 04:29:54

标签: ocaml

let add_information info = match info with 
    (int * int * int) -> int + int + int
;;

let result = add_information (1, 2, 3);;

print_int result;; (* should print 6 here *)

我相信你可以像列表一样匹配元组。只是不确定确切的格式。

2 个答案:

答案 0 :(得分:4)

, s:

分开
let add_info = function
  | a, b, c -> a + b + c

因为元组匹配是无可辩驳的 - 也就是说,匹配无法失败 - 您还可以使用let或函数参数绑定元组:

let a, b, c = calc_tuple () in a + b + c

答案 1 :(得分:1)

您还可以声明一个新变量,例如:

   let d,e,f = info in 
   d+e+f;;