Это школьное задание, но все, что я собираюсь опубликовать, сделано только мной и мной. Поэтому я только требую вашей помощи для крошечного шага в моем задании, в котором я застрял.F # Если Statement List.exists
let rec removeDuplicates2 xs =
match xs with
|[]->[]
|y::ys -> if y = (List.exists y ys) then
(removeDuplicates2 ys)
else
y::(removeDuplicates2 ys)
printfn "%A" (removeDuplicates2 [3;1;3;2;1]) // result must be [3;1;2]
Что я нуждаюсь в помощи для делаем, если заявление, что проверяет, является ли элемент у является член списка ув
на данный момент я получаю сообщение об ошибке, говоря: «Это выражение, как ожидается, имеет типа '' a -> bool ' но здесь есть тип ' bool ''
может кто-нибудь сказать мне, что я делаю неправильно?
Во-первых, вы сравниваете 'y' с' List.exists y ys', который должен возвращать true или false. Вы, вероятно, хотели написать 'if (List.exists y ys), затем' –
Во-вторых, 'List.exists' ожидает функцию. Если вы хотите проверить, содержит ли список элемент, используйте 'List.contains' –
Я думаю, что упражнение не подразумевает использование стандартных функций :) –