Функция Operators.hash<'T> (F#)
Общая хэш-функция, предназначенная для возврата равных значений хэша для элементов, равных согласно оператору =. По умолчанию используется структурное хэширование для объединения, записи и кортежа F#, при этом хэшируется все содержимое типа. Точное поведение функции можно корректировать для отдельных типов, реализуя метод GetHashCode для каждого типа.
Пространство имен/путь к модулю: Microsoft.FSharp.Core.Operators
Сборка: FSharp.Core (в FSharp.Core.dll)
// Signature:
hash : 'T -> int (requires equality)
// Usage:
hash obj
Параметры
obj
Тип: 'TВходной объект.
Возвращаемое значение
Вычисляемый хэш.
Заметки
В скомпилированных сборках имя этой функции — Hash. При обращении к функции из языка, отличного от F#, или посредством отражения следует использовать это имя.
Пример
Следующий пример показывает использование хэш-функции для генерации хэшей для различных типов данных.
let show a = printfn "hash(%A) : %d" a (hash a)
show 1;
show 2;
show "1"
show "2"
show "abb"
show "aBc" // case-sensitive
show None;
show (Some 1);
show (Some 0);
show [1;2;3];
show [1;2;3;4;5;6;7;8];
show [1;2;3;4;5;6;7;8;9;10;11];
show [1;2;3;4;5;6;7;8;9;10;11;12;13;14;15]
Платформы
Windows 8, Windows 7, Windows Server 2012, Windows 2008 Server R2
Сведения о версии
Основной версии библиотеки F#
Поддерживается в: 2.0, 4.0, портативное