Text.Show
| Авторские права | (c) Университет Глазго 2001 |
|---|---|
| Лицензия | BSD-стиль (см. файл libraries/base/LICENSE) |
| Поддержка | libraries@haskell.org |
| Стабильность | предварительная |
| Переносимость | переносимая |
| Безопасный Haskell | Безопасный |
| Язык | Haskell2010 |
Описание
Преобразование значений в удобочитаемые строки: класс Show и связанные функции.
тип ShowS = String -> String Исходный код
Функции shows возвращают функцию, которая добавляет вывод String к существующему String. Это позволяет конкатенировать результаты с постоянной сложностью времени, используя композицию функций.
класс Show a где Исходный код
Преобразование значений в удобочитаемые String.
Производные экземпляры Show обладают следующими свойствами, которые совместимы с производными экземплярами Read:
- Результат
showпредставляет собой синтаксически корректное выражение Haskell, содержащее только константы, учитывая применяемые объявления фиксов в момент объявления типа. Оно содержит только имена конструкторов, определенные в типе данных, скобки и пробелы. При использовании помеченных полей конструктора также используются фигурные скобки, запятые, имена полей и знаки равенства. - Если конструктор определен как инфиксный оператор, то
showsPrecбудет генерировать инфиксные применения конструктора. - представление будет заключено в скобки, если приоритет конструктора верхнего уровня в
xменьшеd(ассоциативность игнорируется). Таким образом, еслиdявляется0, то результат никогда не окружен скобками; еслиdявляется11, он всегда окружен скобками, если это не атомное выражение. - Если конструктор определен с использованием синтаксиса записи, то
showбудет генерировать форму синтаксиса записи с полями в том же порядке, что и в исходном объявлении.
Например, при наличии объявлений
infixr 5 :^: data Tree a = Leaf a | Tree a :^: Tree a
производный экземпляр Show эквивалентен
instance (Show a) => Show (Tree a) where
showsPrec d (Leaf m) = showParen (d > app_prec) $
showString "Leaf " . showsPrec (app_prec+1) m
where app_prec = 10
showsPrec d (u :^: v) = showParen (d > up_prec) $
showsPrec (up_prec+1) u .
showString " :^: " .
showsPrec (up_prec+1) v
where up_prec = 5
Обратите внимание, что правоассоциативность :^: игнорируется. Например,
-
show (Leaf 1 :^: Leaf 2 :^: Leaf 3)генерирует строку"Leaf 1 :^: (Leaf 2 :^: Leaf 3)".
Методы
Аргументы
| :: Int | приоритет оператора окружающего контекста (число от |
| -> a | значение, которое нужно преобразовать в |
| -> ShowS |
Преобразование значения в удобочитаемую String.
showsPrec должно удовлетворять закону
showsPrec d x r ++ s == showsPrec d x (r ++ s)
Производные экземпляры Read и Show удовлетворяют следующему:
То есть, readsPrec парсит строку, сгенерированную showsPrec, и возвращает значение, с которым showsPrec начиналось.
show :: a -> String Исходный код
Специализированный вариант showsPrec, использующий контекст приоритета ноль и возвращающий обычную String.
showList :: [a] -> ShowS Исходный код
Метод showList предоставляет возможность программисту предоставить специализированный способ отображения списков значений. Например, это используется предварительно определенным экземпляром Show типа Char, где значения типа String должны отображаться в двойных кавычках, а не в квадратных скобках.
Экземпляры
| Show PatternMatchFail Source | Since: base-4.0 |
Определено в GHC.Internal.Control.Exception.Base МетодыshowsPrec :: Int -> PatternMatchFail -> ShowS Source show :: PatternMatchFail -> String Source showList :: [PatternMatchFail] -> ShowS Source | |
| Show RecConError Source | Since: base-4.0 |
Определено в GHC.Internal.Control.Exception.Base МетодыshowsPrec :: Int -> RecConError -> ShowS Source show :: RecConError -> String Source showList :: [RecConError] -> ShowS Source | |
| Show RecSelError Source | Since: base-4.0 |
Определено в GHC.Internal.Control.Exception.Base МетодыshowsPrec :: Int -> RecSelError -> ShowS Source show :: RecSelError -> String Source showList :: [RecSelError] -> ShowS Source | |
| Show RecUpdError Source | Since: base-4.0 |
Определено в GHC.Internal.Control.Exception.Base МетодыshowsPrec :: Int -> RecUpdError -> ShowS Source show :: RecUpdError -> String Source showList :: [RecUpdError] -> ShowS Source | |
| Show TypeError Source | Since: base-4.9.0.0 |
| Show Constr Source | Since: base-4.0.0.0 |
| Show ArithException Source | Since: base-4.0.0.0 |
Определено в GHC.Internal.Exception.Type МетодыshowsPrec :: Int -> ArithException -> ShowS Source show :: ArithException -> Строка Source showList :: [ArithException] -> ShowS Source | |
| Show SomeException Source | Since: ghc-internal-3.0 |
Определено в GHC.Internal.Exception.Type МетодыshowsPrec :: Int -> SomeException -> ShowS Source show :: SomeException -> Строка Source showList :: [SomeException] -> ShowS Source | |
| Show WhileHandling Source | |
Определено в GHC.Internal.Exception.Type МетодыshowsPrec :: Int -> WhileHandling -> ShowS Source show :: WhileHandling -> Строка Source showList :: [WhileHandling] -> ShowS Source | |
| Show Отпечаток Source | Since: base-4.7.0.0 |
| Show CBool Source | |
| Show CChar Source | |
| Show CClock Source | |
| Show Handle Source | Since: base-4.1.0.0 |
| Show HandleType Source | Since: base-4.1.0.0 |
Defined in GHC.Internal.IO.Handle.Types MethodsshowsPrec :: Int -> HandleType -> ShowS Source show :: HandleType -> String Source showList :: [HandleType] -> ShowS Source | |
| Show Newline Source | Since: base-4.3.0.0 |
| Show NewlineMode Source | Since: base-4.3.0.0 |
Defined in GHC.Internal.IO.Handle.Types MethodsshowsPrec :: Int -> NewlineMode -> ShowS Source show :: NewlineMode -> String Source showList :: [NewlineMode] -> ShowS Source | |
| Show IOMode Source | Since: base-4.2.0.0 |
| Show IoSubSystem Source | |
Defined in GHC.Internal.IO.SubSystem MethodsshowsPrec :: Int -> IoSubSystem -> ShowS Source show :: IoSubSystem -> String Source showList :: [IoSubSystem] -> ShowS Source | |
| Show IOPortException Source | |
| Show Clause Source | |
| Show Con Source | |
| Show Dec Source | |
| Show DecidedStrictness Source | |
Определено в GHC.Internal.TH.Syntax МетодыshowsPrec :: Int -> DecidedStrictness -> ShowS Source show :: DecidedStrictness -> String Source showList :: [DecidedStrictness] -> ShowS Source | |
| Show DerivClause Source | |
Определено в GHC.Internal.TH.Syntax МетодыshowsPrec :: Int -> DerivClause -> ShowS Source show :: DerivClause -> String Source showList :: [DerivClause] -> ShowS Source | |
| Show DerivStrategy Source | |
Определено в GHC.Internal.TH.Syntax МетодыshowsPrec :: Int -> DerivStrategy -> ShowS Source show :: DerivStrategy -> String Source showList :: [DerivStrategy] -> ShowS Source | |
| Show DocLoc Source | |
| Show Exp Source | |
| Show FamilyResultSig Source | |
Определено в GHC.Internal.TH.Syntax МетодыshowsPrec :: Int -> FamilyResultSig -> ShowS Source show :: FamilyResultSig -> String Source showList :: [FamilyResultSig] -> ShowS Source | |
| Show Fixity Source | |
| Show ModName Source | |
| Show Module Source | |
| Show ModuleInfo Source | |
Определено в GHC.Internal.TH.Syntax МетодыshowsPrec :: Int -> ModuleInfo -> ShowS Source show :: ModuleInfo -> String Source showList :: [ModuleInfo] -> ShowS Source | |
| Show Name Source | |
| Show NameFlavour Source | |
| Show SourceStrictness Source | |
Определено в GHC.Internal.TH.Syntax МетодыshowsPrec :: Int -> SourceStrictness -> ShowS Source show :: SourceStrictness -> String Source showList :: [SourceStrictness] -> ShowS Source | |
| Show SourceUnpackedness Source | |
Определено в GHC.Internal.TH.Syntax МетодыshowsPrec :: Int -> SourceUnpackedness -> ShowS Source show :: SourceUnpackedness -> String Source showList :: [SourceUnpackedness] -> ShowS Source | |
| Show Specificity Source | |
Определено в GHC.Internal.TH.Syntax МетодыshowsPrec :: Int -> Specificity -> ShowS Source show :: Specificity -> String Source showList :: [Specificity] -> ShowS Source | |
| Show Stmt Source | |
| Show TyLit Source | |
| Show TySynEqn Source | |
| Show Type Source | |
| Show TypeFamilyHead Source | |
Определено в GHC.Internal.TH.Syntax МетодыshowsPrec :: Int -> TypeFamilyHead -> ShowS Source show :: TypeFamilyHead -> String Source showList :: [TypeFamilyHead] -> ShowS Source | |
| Show Lexeme Source | С версии: base-2.1 |
| Show Number Source | С версии: base-4.6.0.0 |
| Show SomeChar Источник | |
| Show SomeSymbol Источник | С момента: base-4.7.0.0 |
Определено в GHC.Internal.TypeLits МетодыshowsPrec :: Int -> SomeSymbol -> ShowS Источник show :: SomeSymbol -> Строка Источник showList :: [SomeSymbol] -> ShowS Источник | |
| Show SomeNat Источник | С момента: base-4.7.0.0 |
| Show GeneralCategory Источник | С момента: base-2.1 |
Определено в GHC.Internal.Unicode МетодыshowsPrec :: Int -> GeneralCategory -> ShowS Источник show :: GeneralCategory -> Строка Источник showList :: [GeneralCategory] -> ShowS Источник | |
| Show Word16 Источник | С момента: base-2.1 |
| Show Word32 Источник | С момента: base-2.1 |
| Show m => Show (WrappedMonoid m) Source | Since: base-4.9.0.0 |
Определено в Data.Semigroup Краткое описание методовshowsPrec :: Int -> WrappedMonoid m -> ShowS Source show :: WrappedMonoid m -> String Source showList :: [WrappedMonoid m] -> ShowS Source | |
| Show a => Show (NonEmpty a) Source | Since: base-4.11.0.0 |
| Show a => Show (And a) Source | Since: base-4.16 |
| Show a => Show (Iff a) Source | Since: base-4.16 |
| Show a => Show (Ior a) Source | Since: base-4.16 |
| Show a => Show (Xor a) Source | Since: base-4.16 |
| Show a => Show (Identity a) Source |
Эта реализация была бы эквивалентна выведенным реализациям Since: base-4.8.0.0 |
| Show a => Show (First a) Source | Since: base-2.1 |
| Show a => Show (Last a) Source | Since: base-2.1 |
| Show a => Show (Down a) Source |
Эта реализация была бы эквивалентна выведенным реализациям Since: base-4.7.0.0 |
| Show a => Show (Dual a) Source | Since: base-2.1 |
| Show a => Show (Product a) Source | Since: base-2.1 |
| Show (SSymbol s) Источник | С момента: base-4.18.0.0 |
| Show (SNat n) Источник | С момента: base-4.18.0.0 |
| Show a => Show (Maybe a) Источник | С момента: base-2.1 |
| Show a => Show (Solo a) Источник | С момента: base-4.15 |
| Show a => Show [a] Источник | С момента: base-2.1 |
| HasResolution a => Show (Fixed a) Источник | С момента: base-2.1 |
| (Show a, Show b) => Show (Arg a b) Источник | С момента: base-4.9.0.0 |
| (Ix a, Show a, Show b) => Show (Array a b) Источник | С момента: base-2.1 |
| (Show a, Show b) => Show (Either a b) Источник | С момента: base-3.0 |
| Show (Proxy s) Источник | С момента: base-4.7.0.0 |
| Show (TypeRep a) Источник | |
| Show (U1 p) Источник | С момента: base-4.9.0.0 |
| Show (UAddr p) Источник | С тех пор как: base-4.21.0.0 |
| Show (V1 p) Источник | С тех пор как: base-4.9.0.0 |
| Show (ST s a) Источник | С тех пор как: base-2.1 |
| (Show a, Show b) => Show (a, b) Источник | С тех пор как: base-2.1 |
| Show (a -> b) Источник | С тех пор как: base-2.1 |
| Show a => Show (Const a b) Источник |
Этот экземпляр был бы эквивалентен производным экземплярам С тех пор как: base-4.8.0.0 |
| Show (f a) => Show (Ap f a) Источник | С момента: base-4.12.0.0 |
| Show (f a) => Show (Alt f a) Источник | С момента: base-4.8.0.0 |
| Show (Coercion a b) Источник | С момента: base-4.7.0.0 |
| Show (a :~: b) Источник | С момента: base-4.7.0.0 |
| Show (OrderingI a b) Источник | |
| Show (f p) => Show (Rec1 f p) Источник | С момента: base-4.7.0.0 |
| (Show a, Show b, Show c) => Show (a, b, c) Source | С момента: base-2.1 |
| (Show (f a), Show (g a)) => Show (Product f g a) Source | С момента: base-4.18.0.0 |
| (Show (f a), Show (g a)) => Show (Sum f g a) Source | С момента: base-4.18.0.0 |
| Show (a :~~: b) Source | С момента: base-4.10.0.0 |
| (Show (f p), Show (g p)) => Show ((f :*: g) p) Source | С момента: base-4.7.0.0 |
| (Show (f p), Show (g p)) => Show ((f :+: g) p) Source | С момента: base-4.7.0.0 |
| Show c => Show (K1 i c p) Source | Since: base-4.7.0.0 |
| (Show a, Show b, Show c, Show d) => Show (a, b, c, d) Source | Since: base-2.1 |
| Show (f (g a)) => Show (Compose f g a) Source | Since: base-4.18.0.0 |
| Show (f (g p)) => Show ((f :.: g) p) Source | Since: base-4.7.0.0 |
| Show (f p) => Show (M1 i c f p) Source | Since: base-4.7.0.0 |
| (Show a, Show b, Show c, Show d, Show e) => Show (a, b, c, d, e) Source | Since: base-2.1 |
| (Show a, Show b, Show c, Show d, Show e, Show f) => Show (a, b, c, d, e, f) Source | Since: base-2.1 |
| (Show a, Show b, Show c, Show d, Show e, Show f, Show g) => Show (a, b, c, d, e, f, g) Source | Since: base-2.1 |
| (Show a, Show b, Show c, Show d, Show e, Show f, Show g, Show h) => Show (a, b, c, d, e, f, g, h) Source | Since: base-2.1 |
| (Show a, Show b, Show c, Show d, Show e, Show f, Show g, Show h, Show i) => Show (a, b, c, d, e, f, g, h, i) Source | Since: base-2.1 |
| (Show a, Show b, Show c, Show d, Show e, Show f, Show g, Show h, Show i, Show j) => Show (a, b, c, d, e, f, g, h, i, j) Source | Since: base-2.1 |
| (Show a, Show b, Show c, Show d, Show e, Show f, Show g, Show h, Show i, Show j, Show k) => Show (a, b, c, d, e, f, g, h, i, j, k) Source | Since: base-2.1 |
| (Show a, Show b, Show c, Show d, Show e, Show f, Show g, Show h, Show i, Show j, Show k, Show l) => Show (a, b, c, d, e, f, g, h, i, j, k, l) Source | Since: base-2.1 |
| (Show a, Show b, Show c, Show d, Show e, Show f, Show g, Show h, Show i, Show j, Show k, Show l, Show m) => Show (a, b, c, d, e, f, g, h, i, j, k, l, m) Source | Since: base-2.1 |
| (Show a, Show b, Show c, Show d, Show e, Show f, Show g, Show h, Show i, Show j, Show k, Show l, Show m, Show n) => Show (a, b, c, d, e, f, g, h, i, j, k, l, m, n) Source | Since: base-2.1 |
| (Show a, Show b, Show c, Show d, Show e, Show f, Show g, Show h, Show i, Show j, Show k, Show l, Show m, Show n, Show o) => Show (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) Source | Since: base-2.1 |
shows :: Show a => a -> ShowS Source
эквивалентно showsPrec с приоритетом 0.
showChar :: Символ -> ShowS Исходный код
Вспомогательная функция, преобразующая Char в функцию отображения, которая просто добавляет символ без изменений.
showString :: Строка -> ShowS Исходный код
Вспомогательная функция, преобразующая String в функцию отображения, которая просто добавляет строку без изменений.
showParen :: Булево -> ShowS -> ShowS Исходный код
Вспомогательная функция, которая окружает внутреннюю функцию отображения скобками, когда параметр Bool имеет значение True.
showListWith :: (a -> ShowS) -> [a] -> ShowS Исходный код
Отображение списка (с использованием квадратных скобок и запятых), используя функцию для отображения элементов.
© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/9.12.1/docs/libraries/base-4.21.0.0-8e62/Text-Show.html