В Haskell есть предикат "elem", который говорит, например:
Prelude> 5 `elem` [2,4..10]
False
Как в F# удобно определить, находится ли значение в списке, массиве, последовательности, карте или словаре?
В Haskell есть предикат "elem", который говорит, например:
Prelude> 5 `elem` [2,4..10]
False
Как в F# удобно определить, находится ли значение в списке, массиве, последовательности, карте или словаре?
Ты можешь использовать:
List.exists ((=) 5) [1..5]
Или, как было предложено в другом ответе, напрямую List.contains
, если у вас установлена последняя версия F#.
Те же функции доступны для Seq
.
Array
. Также стоит упомянуть, что если вы используете более старую версию F#, чем 4.0, вместо этого вы можете использовать методы расширения Linq: например. [1..5].Contains(5)
- person torbonde; 02.02.2016
In F# it is
List.contains <element> <list>
Пример:
List.contains 5 [2..2..10]
-->
val it : bool = false
contains
также определен для других типов контейнеров.