base-4.0.0.0: Basic librariesSource codeContentsIndex
Text.Printf
Portabilityportable
Stabilityprovisional
Maintainerlennart@augustsson.net
Description
A C printf like formatter.
Synopsis
printf :: PrintfType r => String -> r
hPrintf :: HPrintfType r => Handle -> String -> r
class PrintfType t
class HPrintfType t
class PrintfArg a
class IsChar c
Documentation
printf :: PrintfType r => String -> rSource

Format a variable number of arguments with the C-style formatting string. The return value is either String or (IO a).

The format string consists of ordinary characters and /conversion specifications/, which specify how to format one of the arguments to printf in the output string. A conversion specification begins with the character %, followed by one or more of the following flags:

    -      left adjust (default is right adjust)

    +      always use a sign (+ or -) for signed conversions

    0      pad with zeroes rather than spaces

followed optionally by a field width:

    num    field width

    *      as num, but taken from argument list

followed optionally by a precision:

    .num   precision (number of decimal places)

and finally, a format character:

    c      character               Char, Int, Integer, ...

    d      decimal                 Char, Int, Integer, ...

    o      octal                   Char, Int, Integer, ...

    x      hexadecimal             Char, Int, Integer, ...

    X      hexadecimal             Char, Int, Integer, ...

    u      unsigned decimal        Char, Int, Integer, ...

    f      floating point          Float, Double

    g      general format float    Float, Double

    G      general format float    Float, Double

    e      exponent format float   Float, Double

    E      exponent format float   Float, Double

    s      string                  String

Mismatch between the argument types and the format string will cause an exception to be thrown at runtime.

Examples:

   > printf "%d\n" (23::Int)

   23

   > printf "%s %s\n" "Hello" "World"

   Hello World

   > printf "%.2f\n" pi

   3.14

hPrintf :: HPrintfType r => Handle -> String -> rSource
Similar to printf, except that output is via the specified Handle. The return type is restricted to (IO a).
class PrintfType t Source
The PrintfType class provides the variable argument magic for printf. Its implementation is intentionally not visible from this module. If you attempt to pass an argument of a type which is not an instance of this class to printf or hPrintf, then the compiler will report it as a missing instance of PrintfArg.
show/hide Instances
IsChar c => PrintfType ([] c)
PrintfType (IO a)
(PrintfArg a, PrintfType r) => PrintfType (a -> r)
class HPrintfType t Source
The HPrintfType class provides the variable argument magic for hPrintf. Its implementation is intentionally not visible from this module.
show/hide Instances
class PrintfArg a Source
show/hide Instances
class IsChar c Source
show/hide Instances
Produced by Haddock version 2.3.0