percent-format: simple printf-style string formatting

[ bsd3, library, testing ] [ Propose Tags ]

The Text.PercentFormat library provides printf-style string formatting. It provides a % operator (as in Ruby or Python) and uses the old C-printf-style format you know and love.


[Skip to Readme]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0.0.1, 0.0.2, 0.0.4
Dependencies base (>=4 && <5) [details]
License BSD-3-Clause
Author Rudy Matela <rudy@matela.com.br>
Maintainer Rudy Matela <rudy@matela.com.br>
Category Testing
Home page https://github.com/rudymatela/percent-format#readme
Source repo head: git clone https://github.com/rudymatela/percent-format
this: git clone https://github.com/rudymatela/percent-format(tag v0.0.1)
Uploaded by rudymatela at 2018-07-31T20:38:39Z
Distributions LTSHaskell:0.0.4, NixOS:0.0.4, Stackage:0.0.4
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 1257 total (22 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for percent-format-0.0.1

[back to package description]

PercentFormat -- C-like printf-style string formatting for Haskell

The Text.PercentFormat library provides printf-style string formatting. It provides a % operator (as in Ruby or Python) and uses the old C-printf-style format you know and love.

This library differs from Text.Printf in that it does not rely on custom typeclasses -- it works on anything that is a Show instance.

Formatting one value:

> import Text.PercentFormat
> "Hello %s!" -% "World"
"Hello World!"

Formatting three values, tuple style:

> "load average: %1.2f %1.2f %1.2f" -%%% (0.00, 0.066, 0.11)
"load average: 0.00 0.07 0.11"

Formatting three values, chain style:

> "load average: %1.2f %1.2f %1.2f" % 0.00 % 0.066 -% 0.11
"load average: 0.00 0.07 0.11"

To produce a string with a percent sign (%), use two percent signs (%%):

> "memory usage: %i%%" -% 13
"memory usage: 13%"

Percent signs are duplicated when using the % operator to allow chaining:

> "percent sign: %s, memory usage: %i%%" % "%" % 87
"percent sign: %%, memory usage: 87%%"

Always use the -% operator when formatting the last value to remove duplicate % signs:

> "percent sign: %s, memory usage: %i%%" % "%" -% 87
"percent sign: %, memory usage: 87%"

To print, just prefix you format expression with putStrLn $:

> putStrLn $ "Hello %s!" -% "World"
Hello World!