在OCaml中打印元组

在OCaml中打印元组,ocaml,Ocaml,我想打印类型为int*int的方法的结果 我试着这样做: printf "%d %d\n" (find (99, 10));; 然而,我得到: Error: This expression has type int * int but an expression was expected of type int 我看了这里,但没有提到元组 那么,打印元组的正确方法是什么呢?您可以将其解耦,例如 let (x,y) = find (99,10) in printf "%d %d

我想打印类型为
int*int
的方法的结果

我试着这样做:

printf "%d %d\n" (find (99, 10));;
然而,我得到:

Error: This expression has type int * int
       but an expression was expected of type int
我看了这里,但没有提到元组


那么,打印元组的正确方法是什么呢?

您可以将其解耦,例如

let (x,y) = find (99,10) in 
printf "%d %d\n" x y
或者,您可以定义元组打印机,例如

let pp_int_pair ppf (x,y) =
  fprintf ppf "(%d,%d)" x y
然后将其与
%a
说明符一起使用,例如

printf "%a\n" pp_int_pair (find (99,10))