Есть ли способ переопределить функцию сравнения в наборе F #?
Я не вижу никаких функций построения, которые выполняют функцию IComparer<T>
или сравнения:
-
Set.ofSeq
и другие не выполняют функцию сравнения Конструктор -
FSharpSet(IComparer<T> comparer, SetTree<T> tree)
является внутренним, потому что - SetTree является внутренним и
-
SetTreeModule.ofSeq<a>(IComparer<a> comparer, IEnumerable<a> c)
также является внутренним.
Моя фактическая проблема заключается в том, что у меня есть набор ('a * 'a)
, и мне нужно сравнение, например, (1,3) = (3,1).
Я знаю, что могу обернуть это в тип, реализующий IComparable<T>
, но есть ли способ избежать этого?