Я пытаюсь создать перестановки строк, содержащихся в списке в OCaml.
До сих пор я работал над следующим фрагментом кода, но столкнулся с проблемой передачи первой строки списка моему методу.
Логика для кода:
Выполните итерацию для каждого элемента списка и добавьте каждый элемент с элементом списка. Продолжайте, пока все элементы не будут добавлены в список в каждой возможной позиции.
Код:
(* this function appends each string to each word in the list example: "A" with "ABC" *)
let appendtocode n word =
let f x = n ^ x in
f word
;;
(* this function extracts every element of the list and appends it with the string.
Example: "A" with ["AAA","ABC","ACD"] etc.. *)
let appendtolist n list =
let f x =
if (List.length list) > 0 then list
else ((appendtocode n (List.hd list)) ^ (appendtolist n (List.tl list)) )
in
List.map f list
;;
Ошибка:
Я получаю эту ошибку:
несвязанное значение appendtolist
Происходит при вызове: (appendtolist n List.tl list)
Мой список состоит только из строк.
Я все еще работаю над кодом. Но застрял на этом из-за этой ошибки.
Пожалуйста, помогите !!! Любой вклад был бы великолепен.