Data.Ord
| Copyright | (c) The University of Glasgow 2005 |
|---|---|
| License | BSD-style (see the file libraries/base/LICENSE) |
| Maintainer | libraries@haskell.org |
| Stability | stable |
| Portability | portable |
| Safe Haskell | Trustworthy |
| Language | Haskell2010 |
Описание
Порядки
class Eq a => Ord a where Источник
Класс Ord используется для типов данных с полным порядком.
Экземпляры Ord могут быть получены для любого пользовательского типа данных, составные типы которого находятся в Ord. Заявленный порядок конструкторов в объявлении данных определяет порядок в полученных экземплярах Ord. Тип Ordering позволяет определить точный порядок двух объектов с помощью одного сравнения.
Минимальное полное определение: либо compare или <=. Использование compare может быть более эффективным для сложных типов.
Краткое описание методов
compare :: a -> a -> Ordering Источник
(<) :: a -> a -> Bool infix 4 Источник
(<=) :: a -> a -> Bool infix 4 Источник
(>) :: a -> a -> Bool infix 4 Источник
Экземпляры
| Ord CIno | |
| Ord CDev | |
| Ord СтатусПотока | |
| Ord ПричинаБлокировки | |
| Ord ИдентификаторПотока | |
| Ord РежимВводаВывода | |
| Ord Версия | |
| Ord ЕстественноеЧисло | |
| Ord НекоторыеСимволы | |
| Ord НекоторыеНатуральные | |
| Ord Уникальный | |
| Ord Пустое | |
| Ord a => Ord [a] | |
| Целочисленный a => Ord (Соотношение a) | |
| Ord (Указатель a) | |
| Ord (ФункциональныйУказатель a) | |
| Ord (U1 p) | |
| Ord p => Ord (Par1 p) | |
| Ord a => Ord (Возможно a) | |
| Ord a => Ord (Down a) | |
| Ord a => Ord (Последний a) | |
| Ord a => Ord (Первый a) | |
| Ord a => Ord (Произведение a) | |
| Ord a => Ord (Сумма a) | |
| Ord a => Ord (Двойственный a) | |
| Ord (ForeignPtr a) | |
| Ord a => Ord (ZipList a) | |
| Ord (Fixed a) | |
| Ord a => Ord (Тождество a) | |
| (Ord a, Ord b) => Ord (Either a b) | |
| Ord (f p) => Ord (Rec1 f p) | |
| (Ord a, Ord b) => Ord (a, b) | |
| Ord (Заместитель k s) | |
| Ord a => Ord (Const a b) | |
| Ord c => Ord (K1 i c p) | |
| (Ord (f p), Ord (g p)) => Ord ((:+:) f g p) | |
| (Ord (f p), Ord (g p)) => Ord ((:*:) f g p) | |
| Ord (f (g p)) => Ord ((:.:) f g p) | |
| (Ord a, Ord b, Ord c) => Ord (a, b, c) | |
| Ord ((:~:) k a b) | |
| Ord (Принуждение k a b) | |
| Ord (f a) => Ord (Альтернатива k f a) | |
| Ord (f p) => Ord (M1 i c f p) | |
| (Ord a, Ord b, Ord c, Ord d) => Ord (a, b, c, d) | |
| (Ord a, Ord b, Ord c, Ord d, Ord e) => Ord (a, b, c, d, e) | |
| (Ord a, Ord b, Ord c, Ord d, Ord e, Ord f) => Ord (a, b, c, d, e, f) | |
| (Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g) => Ord (a, b, c, d, e, f, g) | |
| (Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h) => Ord (a, b, c, d, e, f, g, h) | |
| (Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i) => Ord (a, b, c, d, e, f, g, h, i) | |
| (Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i, Ord j) => Ord (a, b, c, d, e, f, g, h, i, j) | |
| (Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i, Ord j, Ord k) => Ord (a, b, c, d, e, f, g, h, i, j, k) | |
| (Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i, Ord j, Ord k, Ord l) => Ord (a, b, c, d, e, f, g, h, i, j, k, l) |
| (Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i, Ord j, Ord k, Ord l, Ord m) => Ord (a, b, c, d, e, f, g, h, i, j, k, l, m) | |
| (Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i, Ord j, Ord k, Ord l, Ord m, Ord n) => Ord (a, b, c, d, e, f, g, h, i, j, k, l, m, n) | |
| (Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i, Ord j, Ord k, Ord l, Ord m, Ord n, Ord o) => Ord (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) |
Примеры использования
Тип Down позволяет удобно изменять порядок сортировки. Значение типа Down a содержит значение типа a (представленное как Down a). Если у a есть Ord экземпляр, то сравнение двух обернутых значений даст обратный порядок сортировки по сравнению с обычным. Это особенно полезно при сортировке в обобщённых списочных выражениях, например: then sortWith by Down x
Предоставляет Show и Read экземпляры (с версии: 4.7.0.0).
С версии: 4.6.0.0
Конструкторы
| Down a |
Примеры использования
comparing :: Ord a => (b -> a) -> b -> b -> Ordering Source
comparing p x y = compare (p x) (p y)
Полезный комбинатор для использования совместно с функциями xxxBy из Data.List, например:
... sortBy (comparing fst) ...
© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/7.10.3/docs/html/libraries/base-4.8.2.0/Data-Ord.html