 |
|
| |
Venus::Random(3) |
User Contributed Perl Documentation |
Venus::Random(3) |
Venus::Random - Random Class
package main;
use Venus::Random;
my $random = Venus::Random->new(42);
# my $bit = $random->bit;
# 1
This package provides an object-oriented interface for Perl's
pseudo-random number generator (or PRNG) which produces a deterministic
sequence of bits which approximate true randomness.
This package inherits behaviors from:
Venus::Kind::Utility
This package integrates behaviors from:
Venus::Role::Accessible
Venus::Role::Buildable
Venus::Role::Valuable
This package provides the following methods:
bit() (number)
The bit method returns a 1 or
0 value, randomly.
Since 1.11
- bit example 1
-
# given: synopsis
package main;
my $bit = $random->bit;
# 0
# $bit = $random->bit;
# 1
boolean() (boolean)
The boolean method returns a
"true" or
"false" value, randomly.
Since 1.11
- boolean example 1
-
# given: synopsis
package main;
my $boolean = $random->boolean;
# 0
# $boolean = $random->boolean;
# 1
byte() (string)
The byte method returns random byte characters, randomly.
Since 1.11
- byte example 1
-
# given: synopsis
package main;
my $byte = $random->byte;
# "\xBE"
# $byte = $random->byte;
# "W"
character() (string)
The character method returns a random character, which is either a
"digit", "letter", or "symbol" value.
Since 1.11
- character example 1
-
# given: synopsis
package main;
my $character = $random->character;
# ")"
# $character = $random->character;
# 4
collect(number $times, string | coderef $code, any @args) (number | string)
The collect method dispatches to the specified method or coderef,
repeatedly based on the number of $times specified,
and returns the random concatenated results from each dispatched call. By
default, if no arguments are provided, this method dispatches to
"digit".
Since 1.11
- collect example 1
-
# given: synopsis
package main;
my $collect = $random->collect;
# 7
# $collect = $random->collect;
# 3
- collect example 2
-
# given: synopsis
package main;
my $collect = $random->collect(2);
# 73
# $collect = $random->collect(2);
# 14
- collect example 3
-
# given: synopsis
package main;
my $collect = $random->collect(5, "letter");
# "iKWMv"
# $collect = $random->collect(5, "letter");
# "Papmm"
- collect example 4
-
# given: synopsis
package main;
my $collect = $random->collect(10, "character");
# ")48R+a}[Lb"
# $collect = $random->collect(10, "character");
# "?&0725^,0w"
digit() (number)
The digit method returns a random digit between
0 and 9.
Since 1.11
- digit example 1
-
# given: synopsis
package main;
my $digit = $random->digit;
# 7
# $digit = $random->digit;
# 3
float(number $place, number $from, number $upto) (number)
The float method returns a random float.
Since 1.11
- float example 1
-
# given: synopsis
package main;
my $float = $random->float;
# 1447361.5
# $float = $random->float;
# "0.0000"
- float example 2
-
# given: synopsis
package main;
my $float = $random->float(2);
# 380690.82
# $float = $random->float(2);
# 694.57
- float example 3
-
# given: synopsis
package main;
my $float = $random->float(2, 1, 5);
# 3.98
# $float = $random->float(2, 1, 5);
# 2.37
- float example 4
-
# given: synopsis
package main;
my $float = $random->float(3, 1, 2);
# 1.745
# $float = $random->float(3, 1, 2);
# 1.343
letter() (string)
The letter method returns a random letter, which is either an
"uppercased" or "lowercased" value.
Since 1.11
- letter example 1
-
# given: synopsis
package main;
my $letter = $random->letter;
# "i"
# $letter = $random->letter;
# "K"
lowercased() (string)
The lowercased method returns a random lowercased letter.
Since 1.11
- lowercased example 1
-
# given: synopsis
package main;
my $lowercased = $random->lowercased;
# "t"
# $lowercased = $random->lowercased;
# "i"
nonzero(string | coderef $code, any @args) (number | string)
The nonzero method dispatches to the specified method or coderef
and returns the random value ensuring that it's never zero, not even a
percentage of zero. By default, if no arguments are provided, this method
dispatches to "digit".
Since 1.11
- nonzero example 1
-
# given: synopsis
package main;
my $nonzero = $random->nonzero;
# 7
# $nonzero = $random->nonzero;
# 3
- nonzero example 2
-
# given: synopsis
package main;
my $nonzero = $random->nonzero("pick");
# 1.74452500006101
# $nonzero = $random->nonzero("pick");
# 1.34270147871891
- nonzero example 3
-
# given: synopsis
package main;
my $nonzero = $random->nonzero("number");
# 3427014
# $nonzero = $random->nonzero("number");
# 3
- nonzero example 4
-
# given: synopsis
package main;
my $nonzero = $random->nonzero("number", 0, 10);
# 8
# $nonzero = $random->nonzero("number", 0, 10);
# 3
number(number $from, number $upto) (number)
The number method returns a random number within the range
provided. If no arguments are provided, the range is from
0 to 2147483647. If only the
first argument is provided, it's treated as the desired length of the
number.
Since 1.11
- number example 1
-
# given: synopsis
package main;
my $number = $random->number;
# 3427014
# $number = $random->number;
# 3
- number example 2
-
# given: synopsis
package main;
my $number = $random->number(5, 50);
# 39
# $number = $random->number(5, 50);
# 20
- number example 3
-
# given: synopsis
package main;
my $number = $random->number(100, 20);
# 42
# $number = $random->number(100, 20);
# 73
- number example 4
-
# given: synopsis
package main;
my $number = $random->number(5);
# 74451
# $number = $random->number(5);
# 34269
pick(Num $data) (Num)
The pick method is the random number generator and returns a
random number. By default, calling this method is equivalent to call
"rand" in perlfunc. This method can be overridden in a subclass to
provide a custom generator, e.g. a more cyptographically secure
generator.
Since 1.23
- pick example 1
-
# given: synopsis
package main;
my $pick = $random->pick;
# 0.744525000061007
# $pick = $random->pick;
# 0.342701478718908
- pick example 2
-
# given: synopsis
package main;
my $pick = $random->pick(100);
# 74.4525000061007
# $pick = $random->pick(100);
# 34.2701478718908
- pick example 3
-
# given: synopsis
package main;
my $pick = $random->pick(2);
# 1.48905000012201
# $pick = $random->pick(2);
# 0.685402957437816
range(string $from, string $to) (number)
The range method returns a random number within the range
provided. If no arguments are provided, the range is from
0 to 2147483647.
Since 1.11
- range example 1
-
# given: synopsis
package main;
my $range = $random->range(1, 10);
# 8
# $range = $random->range(1, 10);
# 4
- range example 2
-
# given: synopsis
package main;
my $range = $random->range(10, 1);
# 5
# $range = $random->range(10, 1);
# 8
- range example 3
-
# given: synopsis
package main;
my $range = $random->range(0, 60);
# 45
# $range = $random->range(0, 60);
# 20
- range example 4
-
# given: synopsis
package main;
my $range = $random->range(-5, -1);
# -2
# $range = $random->range(-5, -1);
# -4
repeat(number $times, string | coderef $code, any @args) (number | string)
The repeat method dispatches to the specified method or coderef,
repeatedly based on the number of $times specified,
and returns the random results from each dispatched call. In list context,
the results from each call is returned as a list, in scalar context the
results are concatenated.
Since 1.11
- repeat example 1
-
# given: synopsis
package main;
my @repeat = $random->repeat(2);
# (7, 3)
# @repeat = $random->repeat(2);
# (1, 4)
- repeat example 2
-
# given: synopsis
package main;
my @repeat = $random->repeat(2, "float");
# (1447361.5, "0.0000")
# @repeat = $random->repeat(2, "float");
# ("482092.1040", 1555.7410393)
- repeat example 3
-
# given: synopsis
package main;
my @repeat = $random->repeat(2, "character");
# (")", 4)
# @repeat = $random->repeat(2, "character");
# (8, "R")
reseed(string $seed) (Venus::Random)
The reseed method sets the "srand" in perlfunc (i.e. the
PRNG seed) to the value provided, or the default value used on
instanstiation when no seed is passed to the constructor. This method
returns the object that invoked it.
Since 1.11
- reseed example 1
-
# given: synopsis
package main;
my $reseed = $random->reseed;
# bless({value => ...}, "Venus::Random")
# my $bit = $random->bit;
# 0
- reseed example 2
-
# given: synopsis
package main;
my $reseed = $random->reseed(42);
# bless({value => 42}, "Venus::Random")
# my $bit = $random->bit;
# 0
reset() (Venus::Random)
The reset method sets the "srand" in perlfunc (i.e. the
PRNG seed) to the default value used on instanstiation when no seed is
passed to the constructor. This method returns the object that invoked
it.
Since 1.11
- reset example 1
-
# given: synopsis
package main;
my $reset = $random->reset;
# bless({value => ...}, "Venus::Random")
restore() (Venus::Random)
The restore method sets the "srand" in perlfunc (i.e.
the PRNG seed) to the original value used by "rand" in perlfunc.
This method returns the object that invoked it.
Since 1.11
- restore example 1
-
# given: synopsis
package main;
my $restore = $random->restore;
# bless({value => ...}, "Venus::Random")
select(arrayref | hashref $data) (any)
The select method returns a random value from the
"hashref" or "arrayref" provided.
Since 1.11
- select example 1
-
# given: synopsis
package main;
my $select = $random->select(["a".."d"]);
# "c"
# $select = $random->select(["a".."d"]);
# "b"
- select example 2
-
# given: synopsis
package main;
my $select = $random->select({"a".."h"});
# "f"
# $select = $random->select({"a".."h"});
# "d"
symbol() (string)
The symbol method returns a random symbol.
Since 1.11
- symbol example 1
-
# given: synopsis
package main;
my $symbol = $random->symbol;
# "'"
# $symbol = $random->symbol;
# ")"
uppercased() (string)
The uppercased method returns a random uppercased letter.
Since 1.11
- uppercased example 1
-
# given: synopsis
package main;
my $uppercased = $random->uppercased;
# "T"
# $uppercased = $random->uppercased;
# "I"
Awncorp, "awncorp@cpan.org"
Copyright (C) 2022, Awncorp,
"awncorp@cpan.org".
This program is free software, you can redistribute it and/or
modify it under the terms of the Apache license version 2.0.
Visit the GSP FreeBSD Man Page Interface. Output converted with ManDoc.
|