Я создал вспомогательную функцию папки, чтобы помочь с моим проектом
let rec fold f v xs =
match xs with
| [] -> v
| (x::xs) -> f (x) (fold f v xs )
и теперь мне нужна функция, которая помогает мне получить минимальное значение из списка, но я не хочу использовать итерацию или рекурсию. Я придумал следующее:
let min l = fold (fun acc -> min acc) System.Int32.MaxValue l
протестировал функцию в списке целых чисел min [4;2;3;34;]
и получил ожидаемый желаемый результат:
val min : l:int list -> int
val it : int = 2
Теперь, как бы мне сделать так, чтобы эта функция применялась и к строкам? Например min ["do"; "je"; "ca"; "ja"]
это "ca"
Я стараюсь избегать использования встроенных функций List с целью заставить себя использовать вспомогательные функции и лямбды. Любая помощь будет оценена