Я пытаюсь создать функцию, которая принимает список карт и возвращает список без определенной карты в нем.Как передать список определенных типов в функцию?
Я передал список функции, и он заявил, что мои типы не совпадают.
type Suit = Clubs | Diamonds | Hearts | Spades
type Rank = Jack | Queen | King | Ace | Num of int
type Card = Rank * Suit
type Color = Red | Black
type Move = Discard of Card | Draw
let cards = [(Jack,Clubs); (Num(8),Spades)]
let c:Card = Jack, Clubs
let remove_card (cs, c:Card, e:string) =
cs
remove_card cards c "Err"
Ожидаемый список вернется правильно, когдавызывающая функция remove_card.Но выдается ошибка:
Ожидается, что это выражение будет иметь тип '(' a -> 'b ->' c) * Card * string ', но здесь есть список типа' (Rank * Suit) '