regex-do-3.2: PCRE wrapper

Safe HaskellNone
LanguageHaskell2010

Text.Regex.Do.Replace.Template

Description

formerly Format

substitutes placeholder values with values from args

in lieu of format function there are 2 operators: < and >: no need to remember arg order.

placeholder syntax:

  • index based

    { Int }

other placeholders may be implemented with

Text.Regex.Do.Replace.Latin or Text.Regex.Do.Replace.Utf8

to avoid clash with Prelude:

import Prelude hiding((<),(>))

or qualify < with alias e.g. (assuming this module is imported with F alias):

F.<

Synopsis

Documentation

class Template a repl where Source #

implemented a:

a: template e.g. "today is {0}"

repl: replacement: [a] or [(a,a)]

Minimal complete definition

(<)

Methods

(<) :: a -> repl -> a Source #

(>) :: repl -> a -> a Source #

Instances

ReplaceOne a a => Template a [(a, a)] Source #

key based

key may be {any a}

>>> "овчинка {a} не {b}" < [("a","выделки"),("b","стоит")]

"овчинка выделки не стоит"

Methods

(<) :: a -> [(a, a)] -> a Source #

(>) :: [(a, a)] -> a -> a Source #

ReplaceOne Int a => Template a [a] Source #

index based

>>> ["цветы", "мороженое"] > "даме {0}, детям {1}"

"даме цветы, детям мороженое"

>>> "Polly {0} a {1}" < ["wants","cracker"]

"Polly wants a cracker"

>>> ["перловка"] > "на первое {0}, на второе {0}"

"на первое перловка, на второе перловка"

Methods

(<) :: a -> [a] -> a Source #

(>) :: [a] -> a -> a Source #

type Formatable a = (Template a [a], Template a [(a, a)]) Source #