Функция Map.partition<'Key,'T> (F#)
Создает два новых сопоставления: первое содержит привязки, для которых заданный предикат возвращает значение true, а другое возвращает оставшиеся привязки.
Пространство имен/путь к модулю: Microsoft.FSharp.Collections.Map
Сборка: FSharp.Core (в FSharp.Core.dll)
// Signature:
Map.partition : ('Key -> 'T -> bool) -> Map<'Key,'T> -> Map<'Key,'T> * Map<'Key,'T> (requires comparison)
// Usage:
Map.partition predicate table
Параметры
predicate
Тип: 'Key -> 'T -> boolФункция для проверки входных элементов.
table
Тип: Map<'Key,'T>Входное сопоставление.
Возвращаемое значение
Пара сопоставлений, где первое сопоставление содержит элементы, для которых предикат вернул значение true, а второе сопоставление — элементы, для которых предикат вернул значение false.
Заметки
В скомпилированных сборках имя этой функции — Partition.При обращении к функции из языка, отличного от F#, или посредством отражения следует использовать это имя.
Пример
Следующий код показывает, как использовать Map.partition.
let map1 = [ for i in 1..10 -> (i, i*i)] |> Map.ofList
let (mapEven, mapOdd) = Map.partition (fun key value -> key % 2 = 0) map1
printfn "Evens: %A" mapEven
printfn "Odds: %A" mapOdd
Output
Платформы
Windows 8, Windows 7, Windows Server 2012, Windows 2008 Server R2
Сведения о версии
Основной версии библиотеки F#
Поддерживается в: 2.0, 4.0, портативное