Copyright | Copyright (C) 2016- hiratara |
---|---|
License | GPL-3 |
Maintainer | hiratara@cpan.org |
Stability | experimental |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Generate a random character string that matches the given regular expression. This library ported String_random.js to Haskell.
import Text.StringRandom main = do ymd <- stringRandomIO "20\d\d-(1[0-2]|0[1-9])-(0[1-9]|1\d|2[0-8])" print ymd -- "2048-12-08" etc.
See String_random.js
As with this package, there are random-strings in packages that generate random strings, but this module is superior in the following respects.
- The format of the string to be generated using regular expressions
- You can change the random number generator (e.g. tf-random package)
- With pure calculation without using IO monad.
Synopsis
- stringRandomIO :: Text -> IO Text
- stringRandom :: RandomGen g => g -> Text -> Text
- stringRandomWithError :: RandomGen g => g -> Text -> Either String Text
Documentation
stringRandomIO :: Text -> IO Text Source #
The stringRandomIO
function generates random strings that match the given
regular expression. Regular expression is specified by Text
type. This
function internally uses the random number generator generated by newStdGen
.
stringRandom :: RandomGen g => g -> Text -> Text Source #
The stringRandom
function uses a specified random number generator to
generate a random string that matches a given regular expression.
An exception is raised if the regular expression can not be parsed.
stringRandomWithError :: RandomGen g => g -> Text -> Either String Text Source #
The stringRandomWithError
function behaves like the stringRandom
function, but notifies the error through the Either monad.