Это мой первый день с ocaml. Наслаждаясь этим до сих пор. Я хотел выяснить, есть ли способ напечатать результат функции. Вот пример, основанный на Project Euler # 5 .
Мой код:
let rec gcd a b =
if b==0 then a
else (gcd b (a mod b));;
let rec myans n anssofar=
if n==1 then anssofar
else (myans (n-1) ((anssofar*(n-1))/(gcd anssofar (n-1))));;
Printf.printf "%d\n" (myans 20 20)
Это отлично работает. Затем я скомпилирую его, используя:
$ ocamlc -o PE0005 PE0005.ml
А затем запустите его, используя
$ ./PE0005
И он выплевывает ответ.
Теперь предположим, что я хотел потренироваться в 10.10. Кажется извращенным делать то, что я делал, это возвращаться назад, редактировать последнюю строку в
Printf.printf "%d\n" (myans 10 10)
, а затем перекомпилируйте и запустите снова. Функция уже была определена и скомпилирована. Можно ли как-то распечатать ответ без перекомпиляции?
Любые советы и подсказки приветствуются.