Эй, я пытаюсь изучить основы f # и спотыкаюсь.Мне интересно, как бы вы могли "заменить" первый элемент в списке.
Любая помощь будет принята с благодарностью!
Вот функция общего назначения. Он заменит заголовок списка новым значением, если список не пустой, иначе он вернет список из одного элемента со значением замены.
let replaceHead newHead list = match list with | _ :: tail -> newHead :: tail | [] -> [newHead]
Вы можете 'cons' (используя :: -оператор) новый первый элемент в хвосте (List.tail) исходного списка:
::
List.tail
let theList = [1; 2; 3; 4] let firstReplaced = 0 :: (List.tail a)
Обратите внимание, что это оставит оригиналсписок (theList) нетронутым.
theList