Я пытаюсь изучать OCaml самостоятельно, и я достиг императивного программирования.Я нашел это маленькое упражнение, которое я просто застрял на том, как даже приблизиться.Это кажется таким простым, но я думаю, что моего понимания просто не хватает.
Проблема просит меня написать функцию для факториала без использования ключевого слова rec и без циклов.Это должно научить меня модели среды, но это также смущает меня.
Моей первой мыслью было попробовать что-то вроде этого:
let factorial =
let f = ref (fun n -> 0) in
let temp_factorial n =
if n = 0
then 1
else
begin
f := n * !f*(n-1)
!f
end
Но я не уверен, работает ли это.Любая помощь будет принята с благодарностью:)