From c6ba203526459d31b8c0b430d0c2e1b3c4b82e14 Mon Sep 17 00:00:00 2001 From: Rhiannon Morris Date: Fri, 4 Dec 2020 12:47:03 +0100 Subject: [PATCH] factor out mains --- day4.ml | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/day4.ml b/day4.ml index 49a1ebf..99aecaf 100644 --- a/day4.ml +++ b/day4.ml @@ -79,13 +79,15 @@ let%test_module _ = (module struct end) - -let main1 file = - let sets = chunk_input file |> List.map field_keys in - let len_all = List.length sets in - let len_valid = List.(length (filter valid_set sets)) in +let main' make valid file = + let items = chunk_input file |> List.map make in + let len_all = List.length items in + let len_valid = List.(length (filter valid items)) in Printf.printf "%d valid out of %d\n" len_valid len_all + +let main1 = main' field_keys valid_set + let%expect_test "part 1" = main1 "../../data/day4"; [%expect{| 233 valid out of 288 |}] @@ -223,11 +225,7 @@ let%test_module _ = (module struct end) -let main2 file = - let maps = chunk_input file |> List.map fields in - let len_all = List.length maps in - let len_valid = List.(length (filter valid_map maps)) in - Printf.printf "%d valid out of %d\n" len_valid len_all +let main2 = main' fields valid_map let%expect_test _ = main2 "../../data/day4";