base-4.6.0.0: Basic libraries

Portabilityportable
Stabilityprovisional
Maintainerlennart@augustsson.net
Safe HaskellSafe

Text.Printf

Description

A C printf like formatter.

Synopsis

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 .

Instances

IsChar c => PrintfType [c]
(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.

Instances

class PrintfArg a Source

Instances

class IsChar c Source

Instances

AltStyle によって変換されたページ (->オリジナル) /