(************************************************************ uncarry.ml Created : Mon Feb 10 23:34:49 2003 Last modified: Tue Feb 11 00:11:15 2003 Compile: ocamlopt.opt uncarry.ml -o uncarry # FTP Directory: sources/ocaml # ************************************************************) (** uncarry ってこういうことだったのか!! @author Takashi Masuyama *) let uncarry f (x,y) = f x y let carray f x y = f (x,y) let div x y = (float_of_int x) /. (float_of_int y) let average lst = uncarry div (List.fold_right (fun e (s, l) -> (s+e,l+1)) lst (0,0)) let _ = Printf.printf "%f\n" (average [3; 4; 5; 6; 7; 8; 9; 10])