diff options
Diffstat (limited to 'bin/main.ml')
-rw-r--r-- | bin/main.ml | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/bin/main.ml b/bin/main.ml index 7bf6048..d72fbe4 100644 --- a/bin/main.ml +++ b/bin/main.ml @@ -1 +1,27 @@ -let () = print_endline "Hello, World!" +open AoC2018 +open Stdio + +let user_prompt (prompt: string): int = + print_string prompt; + flush stdout; + match In_channel.input_line In_channel.stdin with + | None -> failwith "no input given!" + | Some line -> int_of_string line + +let load_file f = + let ic = open_in f in + let n = in_channel_length ic in + let s = Bytes.create n in + really_input ic s 0 n; + close_in ic; + (Bytes.unsafe_to_string s) + +let () = + let day = user_prompt "which day? " in + let part = user_prompt "which part? " in + match (day, part) with + | (1, 1) -> load_file "inputs/day1.txt" |> Day1.part_1 |> printf "%d\n" + | (1, 2) -> load_file "inputs/day1.txt" |> Day1.part_2 |> printf "%d\n" + | _ -> printf "invalid combination\n" + + |