Как я могу использовать одну из функций fold для создания списка целых чисел от 0 до значения n-1? Я не понимаю, как заставить fold_right возвращать список, а не возвращать только накопленное значение.
Это для вспомогательной функции, которую я пытаюсь определить для решения более крупной проблемы. Вот моя попытка:
-Я знаю, что в базовом случае должен быть список, содержащий только ноль, потому что я не хочу добавлять ничего меньше нуля.
-Я знаю, что мне нужно уменьшить значение n, чтобы я мог поставить числа из n- от 1 до 0 в списке.
let buildList n =
let ibuildList elem list =
list@[n-1]
in List.fold_right ibuildList n [0];;
Но я получаю сообщение об ошибке, подчеркивая «n» в последней строке, говоря, что выражение имеет тип int, но ожидалось выражение типа «список». Разве n не является целым числом, которое я превращаю в список через [n-1]? Где я ошибся?