Поделиться через


Модуль Collections.Array (F#)

Предоставляет основные операции над массивами.

Пространство имен/путь к модулю: Microsoft.FSharp.Collections

Сборка: FSharp.Core (в FSharp.Core.dll)

module Array

Заметки

Обзор массивов в F# см. в разделе Массивы (F#).

Значения

Значение

Описание

append : 'T [] -> 'T [] -> 'T []

Создает массив, содержащий элементы одного массива, за которыми следуют элементы второго массива.

average : ^T [] -> ^T

Возвращает среднее значение элементов в массиве.

averageBy : ('T -> ^U) -> 'T [] -> ^U

Возвращает среднее значение элементов, созданное путем применения функции к каждому элементу массива.

blit : 'T [] -> int -> 'T [] -> int -> int -> unit

Считывает диапазон элементов из одного массива и записывает их во второй.

choose : ('T ->'U option) -> 'T [] -> 'U []

Применяет предоставленную функцию к каждому элементу массива. Возвращает массив, содержащий результаты x для каждого элемента, для которого функция возвращает Some(x).

collect : ('T -> 'U []) -> 'T [] -> 'U []

Применяет предоставленную функцию к каждому элементу массива, сцепляет результаты и возвращает объединенный массив.

concat : seq<'T []> -> 'T []

Создает массив, содержащий элементы каждой предоставленной последовательности массивов.

copy : 'T -> 'T []

Создает массив, содержащий элементы предоставленного массива.

create : int -> 'T -> 'T []

Создает массив, элементам которого изначально присваивается заданное значение.

empty : 'T []

Возвращает пустой массив заданного типа.

exists : ('T -> bool) -> 'T [] -> bool

Проверяет, удовлетворяет ли какой-либо элемент массива заданному предикату.

exists2 : ('T1 -> 'T2 -> bool) -> 'T1 [] -> 'T2 [] -> bool

Проверяет, есть ли хоть одна пара соответствующих элементов двух массивов, кот. удовлетворяет предоставленному условию.

fill : 'T [] -> int -> int -> 'T -> unit

Заполняет диапазон элементов массива заданным значением.

filter : ('T -> bool) -> 'T [] -> 'T []

Возвращает коллекцию, содержащую только те элементы предоставленного массива, для которых предоставленное условие возвращает true.

find : ('T -> bool) -> 'T [] -> 'T

Возвращает первый элемент, для которого предоставленная функция возвращает значение true Если такого элемента нет, создает исключение KeyNotFoundException.

findIndex : ('T -> bool) -> 'T [] -> int

Возвращает индекс первого элемента массива, удовлетворяющего заданному условию. Если ни один элемент не удовлетворяет условию, создается исключение KeyNotFoundException.

fold : ('State -> 'T -> 'State) -> 'State -> 'T [] -> 'State

Применяет функцию к каждому элементу массива, передавая накапливаемое значение аргумента по потоку в процессе вычисления. Если входная функция — f, а элементы массива — i0...iN, эта функция вычисляет f (...(f s i0)...) iN.

fold2 : ('State -> 'T1 -> 'T2 -> 'State) -> 'State -> 'T1 [] -> 'T2 [] -> 'State

Применяет функцию к парам элементов из двух предоставленных массивов, слева направо, передавая накапливаемое значение аргумента по потоку в процессе вычисления. Длины двух входных массивов должны совпадать; в противном случае создается исключение ArgumentException.

foldBack : ('T -> 'State -> 'State) -> 'T [] -> 'State -> 'State

Применяет функцию к каждому элементу массива, передавая накапливаемое значение аргумента по потоку в процессе вычисления. Если входная функция — f, а элементы массива — i0...iN, эта функция вычисляет f i0 (...(f iN s)).

foldBack2 : ('T1 -> 'T2 -> 'State -> 'State) -> 'T1 [] -> 'T2 [] -> 'State -> 'State

Применяет функцию к парам элементов из двух предоставленных массивов, справа налево, передавая накапливаемое значение аргумента по потоку в процессе вычисления. Длины двух входных массивов должны совпадать; в противном случае создается исключение ArgumentException.

forall : ('T -> bool) -> 'T [] -> bool

Проверяет, все ли элементы массива удовлетворяют заданному условию.

forall2 : ('T1 -> 'T2 -> bool) -> 'T1 [] -> 'T2 [] -> bool

Проверяет, все ли соответствующие элементы двух массивов удовлетворяют предоставленному условию.

get : 'T [] -> int -> 'T

Получает элемент массива.

init : int -> (int -> 'T) -> 'T []

Использует предоставленную функцию для создания массива предоставленного измерения.

isEmpty : 'T [] -> bool

Проверяет, содержит ли массив какие-либо элементы.

iter : ('T -> unit) -> 'T [] -> unit

Применяет предоставленную функцию к каждому элементу массива.

iter2 : ('T1 -> 'T2 -> unit) -> 'T1 [] -> 'T2 [] -> unit)

Применяет предоставленную функцию к паре элементов, извлеченных из соответствующих индексов в двух массивах. Длины двух массивов должны быть одинаковы; в противном случае создается исключение ArgumentException.

iteri : (int -> 'T -> unit) -> 'T [] -> unit

Применяет предоставленную функцию к каждому элементу массива. Целое число, переданное функции, обозначает индекс элемента.

iteri2 : (int -> 'T1 -> 'T2 -> unit) -> 'T1 [] -> 'T2 [] -> unit

Применяет предоставленную функцию к паре элементов, извлеченных из соответствующих индексов в двух массивах, а также передает индекс элементов. Длины двух массивов должны быть одинаковы; в противном случае создается исключение ArgumentException.

length : 'T [] -> int

Возвращает длину массива. Свойство Length имеет ту же функцию.

map : ('T -> 'U) -> 'T [] -> 'U []

Создает массив, элементы которого являются результатами применения предоставленной функции к каждому из элементов предоставленного массива.

map2 : ('T1 -> 'T2 -> 'U) -> 'T1 [] -> 'T2 [] -> 'U []

Создает массив, элементы которого являются результатами применения предоставленной функции к соответствующим элементам двух предоставленных массивов. Длины двух входных массивов должны совпадать; в противном случае создается исключение ArgumentException.

mapi : (int -> 'T -> 'U) -> 'T [] -> 'U []

Создает массив, элементы которого являются результатами применения предоставленной функции к каждому из элементов предоставленного массива. Целочисленный индекс, переданный функции, обозначает индекс преобразуемого элемента.

mapi2 : (int -> 'T1 -> 'T2 -> 'U) -> 'T1 [] -> 'T2 [] -> 'U []

Создает массив, элементы которого являются результатом попарного применения заданной функции к соответствующим элементам двух коллекций, а также передает индекс элементов. Длины двух входных массивов должны совпадать; в противном случае создается исключение ArgumentException.

max : 'T [] -> 'T

Возвращает самый большой из элементов массива. Operators.max используется для сравнения элементов.

maxBy : ('T -> 'U) -> 'T [] -> 'T

Возвращает максимальный элемент массива, определенный посредством применения оператора Operators.max к результату функции.

min : ('T [] -> 'T

Возвращает самый маленький из элементов массива. Operators.min используется для сравнения элементов.

minBy : ('T -> 'U) -> 'T [] -> 'T

Возвращает самый маленький из элементов массива. Operators.min используется для сравнения элементов.

ofList : 'T list -> 'T []

Создает массив из предоставленного списка.

ofSeq : seq<'T> -> 'T []

Создает массив из предоставленного перечислимого объекта.

раздел : ('T -> bool) -> 'T [] -> 'T [] * 'T []

Разделяет массив на два массива, один содержит элементы, для которых заданное условие возвращает true, и второй, где false.

permute : (int -> int) -> 'T [] -> 'T []

Перставляет элементы массива в соответствии с указанной перестановкой.

pick : ('T -> 'U option) -> 'T [] -> 'U

Применяет предоставленную функцию к идущим подряд элементам предоставленного массива, возвращая первый результат, где функция возвращает Some(x) для некоторого x. Если функция никогда не возвращает Some(x), создается исключение KeyNotFoundException.

reduce : ('T -> 'T -> 'T) -> 'T [] -> 'T

Применяет функцию к каждому элементу массива, передавая накапливаемое значение аргумента по потоку в процессе вычисления. Если входная функция — f, а элементы массива — i0...iN, эта функция вычисляет f (...(f i0 i1)...) iN. Если размер массива равен нулю, вызывается исключение ArgumentException.

reduceBack : ('T -> 'T -> 'T) -> 'T [] -> 'T

Применяет функцию к каждому элементу массива, передавая накапливаемое значение аргумента по потоку в процессе вычисления. Если входная функция — f, а элементы — i0...iN, эта функция вычисляет f i0 (...(f iN-1 iN)). Если размер массива равен нулю, вызывается исключение ArgumentException.

rev : 'T [] -> 'T []

Изменяет порядок элементов в предоставленном массиве.

scan : ('State -> 'T -> 'State) -> 'State -> 'T [] -> 'State [])

Ведет себя как fold, но возвращает промежуточные результаты вместе с окончательными результатами.

scanBack : ('T -> 'State -> 'State) -> 'T [] -> 'State -> 'State []

Ведет себя как foldBack, но возвращает промежуточные результаты вместе с окончательными результатами.

set : 'T [] -> int -> 'T -> unit

Задает элемент массива.

sort : 'T[] -> 'T []

Сортирует элементы массива и возвращает новый массив. Operators.compare используется для сравнения элементов.

sortBy : ('T -> 'Key) -> 'T [] -> 'T []

Сортирует элементы массива с использованием предоставленной функции для преобразования элементов в тип, на котором базируется операция сортировки, и возвращает новый массив. Operators.compare используется для сравнения элементов.

sortInPlace : 'T [] -> unit

Сортирует элементы массива посредством изменения массива на месте, используя заданную функцию сравнения. Operators.compare используется для сравнения элементов.

sortInPlaceBy : ('T -> 'Key) -> 'T [] -> unit

Сортирует элементы массива посредством изменения массива на месте, используя заданную проекцию для ключей. Operators.compare используется для сравнения элементов.

sortInPlaceWith : ('T -> 'T -> int) -> 'T [] -> unit

Сортирует элементы массива, используя заданную функцию сравнения для изменения массива на месте.

sortWith : ('T -> 'T -> int) -> 'T [] -> 'T []

Сортирует элементы массива на месте, используя заданную функцию сравнения, и возвращает новый массив.

sub : 'T [] -> int -> int -> 'T []

Создает массив, содержащий предоставленный поддиапазон, который задается начальным индексом и длиной.

sum : 'T [] -> ^T

Возвращает сумму элементов в массиве.

sumBy : ('T -> ^U) -> 'T [] -> ^U

Возвращает сумму результатов, созданную путем применения функции к каждому элементу массива.

toList : 'T [] -> 'T list

Преобразует предоставленный массив в список.

toSeq : 'T [] -> seq<'T>

Просматривает предоставленный массив в виде последовательности.

tryFind : ('T -> bool) -> 'T [] -> 'T option

Возвращает первый элемент предоставленного массива, для которого предоставленная функция возвращает значение true. Возвращает значение None, если такого элемента нет.

tryFindIndex : ('T -> bool) -> 'T [] -> int option

Возвращает индекс первого элемента массива, удовлетворяющего заданному условию.

tryPick : ('T -> 'U option) -> 'T [] -> 'U option

Применяет предоставленную функцию к идущим подряд элементам предоставленного массива и возвращает первый результат, где функция возвращает Some(x) для некоторого x. Если функция никогда не возвращает Some(x), возвращается значение None.

unzip : ('T1 * 'T2) [] -> 'T1 [] * 'T2 []

Разделяет массив пар кортежей на кортеж двух массиваов.

unzip3 : ('T1 * 'T2 * 'T3) [] -> 'T1 [] * 'T2 [] * 'T3 []

Разделяет массив трех кортежей на кортеж трех массиов.

zeroCreate : int -> 'T []

Создает массив, элементы которого изначально заданы равными значению по умолчанию Unchecked.defaultof<'T>.

zip : 'T1 [] -> 'T2 [] -> ('T1 * 'T2) []

Объединяет два массива в массив кортежей по два элемента. Длины двух массивов должны быть одинаковы; в противном случае создается исключение ArgumentException.

zip3 : 'T1 [] -> 'T2 [] -> 'T3 [] -> ('T1 * 'T2 * 'T3) []

Объединяет три массива в массив кортежей по три элемента. Длины трех массивов должны быть одинаковы; в противном случае создается исключение ArgumentException.

Платформы

Windows 7, Windows Vista с пакетом обновления 2 (SP2), Windows XP с пакетом обновления 3 (SP3), Windows XP x64 с пакетом обновления 2 (SP2), Windows Server 2008 R2, Windows Server 2008 с пакетом обновления 2 (SP2), Windows Server 2003 с пакетом обновления 2 (SP2)

Сведения о версии

Среда выполнения F#

Поддерживается в версиях 2.0, 4.0

Silverlight

Поддерживается в версии 3

См. также

Ссылки

Пространство имен Microsoft.FSharp.Collections (F#)

Array

Модуль Collections.Array2D (F#)

Модуль Collections.Array3D (F#)

Модуль Collections.Array4D (F#)

Другие ресурсы

Массивы (F#)