Как проверить, является ли элемент членом в f #? - PullRequest
0 голосов
/ 20 октября 2018

Я пытаюсь сравнить список x со списком S, если в списке x есть все или некоторые элементы из S, тогда значение true, иначе false.Если x и S пустые, то также false.Я реализую следующий код, не могу скомпилировать, надеясь найти решение.Ценить это.Спасибо:

let rec isMember x S =
match S with
|[] , [] -> false
|_ , [] -> true
|[] , _ -> false
|e1::rest1, e2::rest2 -> (e1=e2) || (isMember rest1 rest2)

1 Ответ

0 голосов
/ 20 октября 2018

Ваше совпадение должно включать оба списка (это кортеж), например:

match x, S with

... хотя способ его реализации isMember будет истинным, только если x имеет больше элементовчем S и элементы, которые S имеют в том же порядке в x.Возможно, вы захотите использовать List.contains.

Кстати, попробуйте и будьте последовательны в использовании прописных / строчных букв, верблюжий регистр - это соглашение в F #

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...