V datoteki src/solutions/solution.ml je definiran glavni program, ki sprejme številko dneva X prek ukazne vrstice, pokliče funkciji naloga1, naloga2 definirani v modulu src/dayX.ml na vhodnih podatkih data/day_X.in in njuna rezultata izpiše na standardni izhod ter datoteki out/day_X_1.out in out/day_X_2.out.
Izhod, ki ga proizvede program šteje kot veljaven za dodatne točke.
Primer uporabe je tako za opam, kot brez njega podan za dan 0, ki je rešitev prvega dneva iz leta 2019.
Namestite si ukaz make in z opamom namestite dune utop ocamlformat.
Rešitev dneva X najlažje podate tako, da v mapo src/solutions/ dodate datoteko dayX.ml. V tej datoteki definirajte nov modul Solver in funkciji naloga1 ter naloga2. Po želji si lahko definirate tudi pomožne funkcije. Če pa te funkcije pridejo v uporabo pogosteje, se vam jih splača definirati kje v utils, kot so recimo definirani list_utils.
V datoteki solution.ml dodajte nov vzorec v funkcijo choose_solver. Vhodne podatke zapišite v datoteko data/day_X.in.
Program sedaj poženete z make run DAY=X. Program bo prebral vsebino vhodne datoteke za dan X, pognal naloga1 in naloga2 ter njuna rezultata izpisal tako na standardni izhod kot v ustrezni izhodni datoteki.
V datoteki project_windows je že pripravljena koda za reševanje v eni sami datoteki.
Za reševanje popravite funkcijo choose_solver in dodajte ustrezen modul SolverX.
Program poženite s popravljenim task-om iz repozitorija predmeta. POZOR: Odstranite -init, saj drugače testni program ne prepozna argumenta X:
C:\\ ... bin\\ocaml.exe \"${file}\" X"Kjer je X številka dneva, ki ga rešujete.
Datoteka je shranjena v CRLF formatu, pretvorite jo format LF. To najlažje storite tako, da jo odprete v VSC in spodaj izberete pravilni format ter ponovno shranite datoteko.
Natančnejša navodila je Žiga prijazno napisal na https://ucilnica2021.fmf.uni-lj.si/mod/forum/discuss.php?d=18334
Pri kopiranju vsebine datoteke ste verjetno po nesreči dodali še eno prazno vrstico na konec. Ocaml tako skuša prazen niz pretvoriti v številko, kar pa ga zmoti. Odstranite prazno vrstico s konca vhodne datoteke.