Methods
(static) gaussian(stdev, meanopt, negativeopt)
- Description:
Generate a whole random integer, on a normal (Gaussian, "bell curve") distribution. This random number generator will give more useful results than
random()if you do not want the numbers to be evenly distributed. Another option is to use the die roller, e.g. "2d6" is not an even distribution.
- Source:
Parameters:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
stdev |
Number | The amount of variance from the mean, where about 68% of the numbers will be a number +/- this amount. |
||
mean |
Number |
<optional> |
0
|
The mean around which random numbers will be generated. |
negative |
Boolean |
<optional> |
false
|
should the returned value be negative? This is false by default and will only return positive numbers |
Returns:
a random number
(static) guid() → {String}
- Description:
Generates a unique string (not guaranteed to be globally unique, but certainly unique in any given context).
- Source:
Example
guid()
=> "6v2w2762322fwsds"
Returns:
a context unique string
- Type
- String
(static) random(value) → {Object}
- Description:
Return a random value from a "strategy" value, recursively. An element will be selected from an array, a function will be executed for its return value, and a string with variants will be returned with a variant selected. The value is then checked again to see if it can still be randomized further, and this process continues until a primitive value is returned (a number, object, string, or boolean).
- Source:
Example
random("A")
=> "A"
random(['A','B','C']);
=> 'A'
random("{Big|Bad|Black} Dog");
=> 'Bad Dog'
random(() => ["A","B","C"]);
=> "B"
Parameters:
| Name | Type | Description |
|---|---|---|
value |
String | Array | function | A string with optional variants, or an array from which to select an element, or a function that returns a value. |
Returns:
a single randomized instance, based on the value passed in
- Type
- Object
(static) randomElement(an)
- Description:
A function that takes an array and returns a random element in the array. Does not execute functions, select a string out of string expressions, or perform any other recursive randomization.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
an |
collection | array |
Returns:
one element of the array
(static) shuffle(array)
- Description:
Randomly shuffle the position of the elements in an array (uses Fisher-Yates shuffle).
random()is usually more efficient, but if you need to iterate through a set of values in a random order, without traversing the same element more than once,shuffle()is a better way to randomize your data.
- Source:
Example
shuffle(['A','B','C'])
=> ['C','A','B']
Parameters:
| Name | Type | Description |
|---|---|---|
array |
Array | The array to shuffle (in place) |
(static) test(percentage, value1opt, value2opt) → {Boolean|any}
- Description:
Test against a percentage that something will occur.
- Source:
Example
if (test(80)) {
// Happens 80% of the time.
}
test(15, 'A', 'B')
=> 'B'
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
percentage |
Number | The percentage chance that the function returns true |
|
value1 |
any |
<optional> |
the value to return if the test succeeds |
value2 |
any |
<optional> |
the value to return if the test fails |
Returns:
true if test passes, false otherwise
- Type
- Boolean | any
(inner) evaluateArithmetic(number) → {Number}
- Description:
Returns a random number based on a die roll string or a provided number. Math operations are supported.
- Source:
Example
roll(8)
=> 4
Parameters:
| Name | Type | Description |
|---|---|---|
number |
Number | the maximum value to return |
Returns:
a value from 1 to N
- Type
- Number
(inner) evaluateArithmetic(notation) → {Number}
- Source:
Example
roll("3d6+2")
=> 9
roll("(2d4*10)+500")
=> 540
Parameters:
| Name | Type | Description |
|---|---|---|
notation |
String | a notation for a dice roll |
Returns:
a die roll value
- Type
- Number