The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Random::Set - Class for random set generation.

SYNOPSIS

 use Random::Set;

 my $obj = Random::Set->new(%params);
 my $random = $obj->get;

METHODS

new

 my $obj = Random::Set->new(%params);

Constructor.

Returns instance of object.

  • precision

    Precision.

    Default value is 100.

  • set

    Set definition.

    Set is array of arrays with pairs of probability and value.

    Default value is [].

    It is required.

    Sumary of probabilities must be 1.

get

 my $random = $obj->get;

Get random value from set.

Returns value from set.

ERRORS

 new():
         Bad set sum. Must be 1.
         From Class::Utils::set_params():
                 Unknown parameter '%s'.

EXAMPLE1

 use strict;
 use warnings;

 use Random::Set;

 # Object.
 my $obj = Random::Set->new(
         'set' => [
                 [0.5, 'foo'],
                 [0.5, 'bar'],
         ],
 );

 # Get random data.
 my $random = $obj->get;

 # Print out.
 print $random."\n";

 # Output like:
 # foo|bar

EXAMPLE2

 use strict;
 use warnings;

 use Random::Set;

 # Object.
 my $obj = Random::Set->new(
         'set' => [
                 [0.1, 'foo'],
                 [0.9, 'bar'],
         ],
 );

 # Get random data.
 my $random = $obj->get;

 # Print out.
 print $random."\n";

 # Output like:
 # foo (10%)|bar (90%)

DEPENDENCIES

Class::Utils, Error::Pure.

SEE ALSO

Random::Day

Class for random day generation.

REPOSITORY

https://github.com/michal-josef-spacek/Random-Set

AUTHOR

Michal Josef Špaček mailto:skim@cpan.org

http://skim.cz

LICENSE AND COPYRIGHT

© Michal Josef Špaček 2013-2024

BSD 2-Clause License

VERSION

0.09