Text.Show
| Авторские права | (c) The University of Glasgow 2001 |
|---|---|
| Лицензия | В стиле BSD (см. файл libraries/base/LICENSE) |
| Сопровождающий | libraries@haskell.org |
| Стабильность | предварительная |
| Переносимость | переносимая |
| Безопасный Haskell | Safe |
| Язык | Haskell2010 |
Описание
Преобразование значений в читаемые строки: класс Show и связанные с ним функции.
type ShowS = String -> String Источник
Функции shows возвращают функцию, которая добавляет результат String в начало существующего String. Это позволяет объединять результаты за постоянное время с помощью композиции функций.
Преобразование значений в читаемые строки 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.
Специализированный вариант showsPrec, использующий нулевой контекст приоритета и возвращающий обычный String.
showList :: [a] -> ShowS Источник
Метод showList предоставляется, чтобы программист мог задать специализированный способ отображения списков значений. Например, он используется в предопределённом экземпляре Show типа Char, где значения типа String должны отображаться в двойных кавычках, а не в квадратных скобках.
Экземпляры
| Show CPtrdiff Источник | |
| Show CSChar Источник | |
| Show CSUSeconds Источник | |
Определено в GHC.Internal.Foreign.C.Types МетодыshowsPrec :: Int -> CSUSeconds -> ShowS Источник show :: CSUSeconds -> String Источник showList :: [CSUSeconds] -> ShowS Источник | |
| Show CShort Источник | |
| Show CSigAtomic Источник | |
Определено в GHC.Internal.Foreign.C.Types МетодыshowsPrec :: Int -> CSigAtomic -> ShowS Источник show :: CSigAtomic -> String Источник showList :: [CSigAtomic] -> ShowS Источник | |
| Show CSize Источник | |
| Show CTime Источник | |
| Show CUChar Источник | |
| Show CUInt Источник | |
| Show CUIntMax Источник | |
| Show CUIntPtr Источник | |
| Show CULLong Источник | |
| Show CULong Источник | |
| Show CUSeconds Источник | |
| Show CUShort Источник | |
| Show CWchar Источник | |
| Show IntPtr Источник | |
Определено в GHC.Internal.Stack.Decode МетодыshowsPrec :: Int -> StackEntry -> ShowS Источник show :: StackEntry -> String Источник showList :: [StackEntry] -> ShowS Источник | |
| Show CallStack Источник | Начиная с: base-4.9.0.0 |
| Show SrcLoc Источник | Начиная с: base-4.9.0.0 |
| Show StaticPtrInfo Источник | Начиная с: base-4.8.0.0 |
Определено в GHC.Internal.StaticPtr МетодыshowsPrec :: Int -> StaticPtrInfo -> ShowS Источник show :: StaticPtrInfo -> String Источник showList :: [StaticPtrInfo] -> ShowS Источник | |
| Show GCDetails Источник | Начиная с: base-4.10.0.0 |
| Show RTSStats Источник | Начиная с: base-4.10.0.0 |
| Show CBlkCnt Источник | |
| Show CBlkSize Источник | |
| Show CCc Источник | |
| Show CClockId Источник | |
| Show CDev Источник | |
| Show CFsBlkCnt Источник | |
| Show CFsFilCnt Источник | |
| Show CGid Источник | |
| Show CId Источник | |
| Show PkgName Источник | |
| Show Pragma Источник | |
| Show Range Источник | |
| Show Role Источник | |
| Show RuleBndr Источник | |
| Show RuleMatch Источник | |
| Show Safety Источник | |
| Show SourceStrictness Источник | |
Определено в GHC.Internal.TH.Syntax МетодыshowsPrec :: Int -> SourceStrictness -> ShowS Источник show :: SourceStrictness -> String Источник showList :: [SourceStrictness] -> ShowS Источник | |
| Show SourceUnpackedness Источник | |
Определено в GHC.Internal.TH.Syntax МетодыshowsPrec :: Int -> SourceUnpackedness -> ShowS Источник show :: SourceUnpackedness -> String Источник showList :: [SourceUnpackedness] -> ShowS Источник | |
| Show Specificity Источник | |
Определено в GHC.Internal.TH.Syntax МетодыshowsPrec :: Int -> Specificity -> ShowS Источник show :: Specificity -> String Источник showList :: [Specificity] -> ShowS Источник | |
| Show Stmt Источник | |
| Show TyLit Источник | |
| Show TySynEqn Источник | |
| Show Type Источник | |
| Show Word8 Источник | Начиная с: base-2.1 |
| Show Integer Источник | Начиная с: base-2.1 |
| Show Natural Источник | Начиная с: base-4.8.0.0 |
| Show () Источник | Начиная с: base-2.1 |
| Show Bool Источник | Начиная с: base-2.1 |
| Show Char Источник | Начиная с: base-2.1 |
| Show Double Источник | Начиная с: base-2.1 |
| Show Float Источник | Начиная с: base-2.1 |
| Show Int Источник | Начиная с: base-2.1 |
| Show Levity Источник | Начиная с: base-4.15.0.0 |
| Show RuntimeRep Источник | Начиная с: base-4.11.0.0 |
Определён в GHC.Internal.Show МетодыshowsPrec :: Int -> RuntimeRep -> ShowS Источник show :: RuntimeRep -> String Источник showList :: [RuntimeRep] -> ShowS Источник | |
| Show VecCount Источник | Начиная с: base-4.11.0.0 |
| Show VecElem Источник | Начиная с: base-4.11.0.0 |
| Show Word Источник | Начиная с: base-2.1 |
| Show a => Show (Complex a) Источник | Начиная с: base-2.1 |
| Show a => Show (First a) Источник | Начиная с: base-4.9.0.0 |
| Show a => Show (Last a) Источник | Начиная с: base-4.9.0.0 |
| Show a => Show (Max a) Источник | Начиная с: base-4.9.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 (URec Char p) Источник | С версии: base-4.9.0.0 |
| Show (URec Double p) Источник | С версии: base-4.9.0.0 |
| Show (URec Float p) Источник | |
| Show (URec Int p) Источник | С версии: base-4.9.0.0 |
| Show (URec Word p) Источник | С версии: base-4.9.0.0 |
| (Show a, Show b, Show c) => Show (a, b, c) Источник | С версии: base-2.1 |
| (Show (f a), Show (g a)) => Show (Product f g a) Источник | С версии: base-4.18.0.0 |
| (Show (f a), Show (g a)) => Show (Sum f g a) Источник | С версии: base-4.18.0.0 |
| Show (a :~~: b) Источник | С версии: base-4.10.0.0 |
| (Show (f p), Show (g p)) => Show ((f :*: g) p) Источник | С версии: base-4.7.0.0 |
| (Show (f p), Show (g p)) => Show ((f :+: g) p) Источник | С версии: base-4.7.0.0 |
Определено в GHC.Internal.Generics МетодыshowsPrec :: Int -> (f :+: g) p -> ShowS Исходный код show :: (f :+: g) p -> String Исходный код showList :: [(f :+: g) p] -> ShowS Исходный код | |
| Show c => Show (K1 i c p) Исходный код | Начиная с: base-4.7.0.0 |
Определено в GHC.Internal.Generics МетодыshowsPrec :: Int -> K1 i c p -> ShowS Исходный код show :: K1 i c p -> String Исходный код showList :: [K1 i c p] -> ShowS Исходный код | |
| (Show a, Show b, Show c, Show d) => Show (a, b, c, d) Исходный код | Начиная с: base-2.1 |
Определено в GHC.Internal.Show МетодыshowsPrec :: Int -> (a, b, c, d) -> ShowS Исходный код show :: (a, b, c, d) -> String Исходный код showList :: [(a, b, c, d)] -> ShowS Исходный код | |
| Show (f (g a)) => Show (Compose f g a) Исходный код | Начиная с: base-4.18.0.0 |
Определено в Data.Functor.Compose МетодыshowsPrec :: Int -> Compose f g a -> ShowS Исходный код show :: Compose f g a -> String Исходный код showList :: [Compose f g a] -> ShowS Исходный код | |
| Show (f (g p)) => Show ((f :.: g) p) Исходный код | Начиная с: base-4.7.0.0 |
Определено в GHC.Internal.Generics МетодыshowsPrec :: Int -> (f :.: g) p -> ShowS Исходный код show :: (f :.: g) p -> String Исходный код showList :: [(f :.: g) p] -> ShowS Исходный код | |
| Show (f p) => Show (M1 i c f p) Исходный код | Начиная с: base-4.7.0.0 |
Определено в GHC.Internal.Generics МетодыshowsPrec :: Int -> M1 i c f p -> ShowS Исходный код show :: M1 i c f p -> String Исходный код showList :: [M1 i c f p] -> ShowS Исходный код | |
| (Show a, Show b, Show c, Show d, Show e) => Show (a, b, c, d, e) Исходный код | Начиная с: base-2.1 |
Определено в GHC.Internal.Show МетодыshowsPrec :: Int -> (a, b, c, d, e) -> ShowS Исходный код show :: (a, b, c, d, e) -> String Исходный код showList :: [(a, b, c, d, e)] -> ShowS Исходный код | |
| (Show a, Show b, Show c, Show d, Show e, Show f) => Show (a, b, c, d, e, f) Исходный код | Начиная с: base-2.1 |
Определено в GHC.Internal.Show МетодыshowsPrec :: Int -> (a, b, c, d, e, f) -> ShowS Исходный код show :: (a, b, c, d, e, f) -> String Исходный код showList :: [(a, b, c, d, e, f)] -> ShowS Исходный код | |
| (Show a, Show b, Show c, Show d, Show e, Show f, Show g) => Show (a, b, c, d, e, f, g) Исходный код | Начиная с: base-2.1 |
Определено в GHC.Internal.Show МетодыshowsPrec :: Int -> (a, b, c, d, e, f, g) -> ShowS Исходный код show :: (a, b, c, d, e, f, g) -> String Исходный код showList :: [(a, b, c, d, e, f, g)] -> ShowS Исходный код | |
| (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) Исходный код | Начиная с: base-2.1 |
Определено в GHC.Internal.Show МетодыshowsPrec :: Int -> (a, b, c, d, e, f, g, h) -> ShowS Исходный код show :: (a, b, c, d, e, f, g, h) -> String Исходный код showList :: [(a, b, c, d, e, f, g, h)] -> ShowS Исходный код | |
| (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) Исходный код | Начиная с: base-2.1 |
Определено в GHC.Internal.Show МетодыshowsPrec :: Int -> (a, b, c, d, e, f, g, h, i) -> ShowS Исходный код show :: (a, b, c, d, e, f, g, h, i) -> String Исходный код showList :: [(a, b, c, d, e, f, g, h, i)] -> ShowS Исходный код | |
| (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) Исходный код | Начиная с: base-2.1 |
Определено в GHC.Internal.Show МетодыshowsPrec :: Int -> (a, b, c, d, e, f, g, h, i, j) -> ShowS Исходный код show :: (a, b, c, d, e, f, g, h, i, j) -> String Исходный код showList :: [(a, b, c, d, e, f, g, h, i, j)] -> ShowS Исходный код | |
| (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) Исходный код | Начиная с: base-2.1 |
Определено в GHC.Internal.Show МетодыshowsPrec :: Int -> (a, b, c, d, e, f, g, h, i, j, k) -> ShowS Исходный код show :: (a, b, c, d, e, f, g, h, i, j, k) -> String Исходный код showList :: [(a, b, c, d, e, f, g, h, i, j, k)] -> ShowS Исходный код | |
| (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) Исходный код | Начиная с: base-2.1 |
Определено в GHC.Internal.Show МетодыshowsPrec :: Int -> (a, b, c, d, e, f, g, h, i, j, k, l) -> ShowS Исходный код show :: (a, b, c, d, e, f, g, h, i, j, k, l) -> String Исходный код showList :: [(a, b, c, d, e, f, g, h, i, j, k, l)] -> ShowS Исходный код | |
| (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) Источник | С версии: 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) Источник | С версии: 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) Источник | С версии: base-2.1 |
shows :: Show a => a -> ShowS Источник
эквивалентно showsPrec с приоритетом 0.
showChar :: Char -> ShowS Источник
вспомогательная функция, преобразующая Char в функцию show, которая просто добавляет символ без изменений в начало.
showString :: String -> ShowS Источник
вспомогательная функция, преобразующая String в функцию show, которая просто добавляет строку без изменений в начало.
showParen :: Bool -> ShowS -> ShowS Источник
вспомогательная функция, заключающая внутреннюю функцию show в круглые скобки, если параметр 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.14.1/docs/libraries/base-4.22.0.0-66f8/Text-Show.html