Browse Source

Add spying function to print list, debugging purpose

Leo 9 years ago
parent
commit
94df67be38
2 changed files with 9 additions and 0 deletions
  1. 8 0
      src/tools.ml
  2. 1 0
      src/tools.mli

+ 8 - 0
src/tools.ml

@@ -67,6 +67,14 @@ let spy1_float f =
   sprintf "%f" f
   |> spy f
 ;;
+let spy1_list ~f list =
+  let list_str = List.map list ~f:(fun element ->
+    sprintf "\"%s\"; " (f element))
+  in
+  "[ " ^ (String.concat list_str) ^ " ]"
+  |> printing;
+  list
+;;
 let spy1_log (log : (string * int) list) =
   let log_str = List.map log ~f:(fun (s, i) ->
     sprintf "( \"%s\", %i ); " s i)

+ 1 - 0
src/tools.mli

@@ -41,5 +41,6 @@ val spy1_int : int -> int
 val spy1_int_option : int option -> int option
 val spy1_string : string -> string
 val spy1_float : float -> float
+val spy1_list : f:('a -> string)-> 'a list -> 'a list
 val spy1_log : (string * int) list -> (string * int) list
 val spy1_rc : 'a -> 'a