Data.Version
| Авторские права | (c) Университет Глазго 2004 |
|---|---|
| Лицензия | BSD-стиль (см. файл libraries/base/LICENSE) |
| Поддержка | libraries@haskell.org |
| Устойчивость | экспериментальная |
| Переносимость | непереносимая (локальное универсальное квантификация в ReadP) |
| Safe Haskell | Safe |
| Язык | Haskell2010 |
Описание
Общая библиотека для представления и обработки версий.
Схемы версионирования разнообразны, поэтому представление версий, предоставляемое этой библиотекой, призвано быть компромиссом между полной общностью, где практически невозможно предоставить общую функциональность, и фиксированной схемой версионирования, которая, вероятно, будет слишком ограниченной.
Поэтому здесь используется представление, которое охватывает многие схемы версионирования, обычно используемые в настоящее время, и мы предоставляем реализации Eq, Ord и преобразования в/из String, которые будут подходящими для некоторых приложений, но не для всех.
Тип Version
data Version Исходный код
A Version представляет версию программного сущности.
Предоставляется экземпляр Eq, который реализует точное равенство, учитывая перестановку тегов в поле versionTags.
Также предоставляется экземпляр Ord, который дает лексикографический порядок по полям versionBranch (т.е. 2.1 > 2.0, 1.2.3 > 1.2.2 и т.д.). Это ожидается, что это будет достаточно для многих применений, но обратите внимание, что вам может потребоваться использовать более специфический порядок для вашей схемы версионирования. Например, некоторые схемы версионирования могут включать предварительные релизы, которые имеют теги "pre1", "pre2", и так далее, и их необходимо учитывать при определении порядка. В некоторых случаях может быть уместнее порядок по датам, поэтому приложение должно искать теги date в поле versionTags и сравнивать их. В итоге, не всегда предполагайте, что операции compare и другие Ord являются правильными для каждой Version.
Аналогично, конкретные представления версий могут отличаться. Предоставляется одно возможное конкретное представление (см. showVersion и parseVersion), но в зависимости от приложения может быть более подходящее конкретное представление.
Конструкторы
| Version | |
Поля
| |
Экземпляры
| IsList Version | Since: base-4.8.0.0 |
| Eq Version | Since: base-2.1 |
| Data Version | Since: base-4.7.0.0 |
Определено в Data.Data Методыgfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Version -> c Version Source gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Version Source toConstr :: Version -> Constr Source dataTypeOf :: Version -> DataType Source dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Version) Source dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Version) Source gmapT :: (forall b. Data b => b -> b) -> Version -> Version Source gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Version -> r Source gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Version -> r Source gmapQ :: (forall d. Data d => d -> u) -> Version -> [u] Source gmapQi :: Int -> (forall d. Data d => d -> u) -> Version -> u Source gmapM :: Monad m => (forall d. Data d => d -> m d) -> Version -> m Version Source gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Version -> m Version Source gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Version -> m Version Source | |
| Ord Version | Since: base-2.1 |
Определено в Data.Version | |
| Read Version | С момента: base-2.1 |
| Show Version | С момента: base-2.1 |
| Generic Version | С момента: base-4.9.0.0 |
| type Rep Version | |
Определено в Data.Version type Rep Version = D1 ('MetaData "Version" "Data.Version" "base" 'False) (C1 ('MetaCons "Version" 'PrefixI 'True) (S1 ('MetaSel ('Just "versionBranch") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Int]) :*: S1 ('MetaSel ('Just "versionTags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [String]))) | |
| type Item Version | |
Конкретное представление Version
showVersion :: Version -> String Источник
Предоставляет одно возможное конкретное представление для Version. Для версии с versionBranch = [1,2,3] и versionTags = ["tag1","tag2"], вывод будет 1.2.3-tag1-tag2.
parseVersion :: ReadP Version Source
Парсер версий в формате, созданном showVersion.
Функция-конструктор
makeVersion :: [Int] -> Version Source
Конструирует Version без тегов.
С момента: base-4.8.0.0
© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/8.10.2/docs/html/libraries/base-4.14.1.0/Data-Version.html