rhai-rand
- Package to Generate Random Numbers
rhai-rand
is a Rhai package to provide random number generation using the rand
crate.
Rhai is an embedded scripting language and evaluation engine for Rust that gives a safe and easy way to add scripting to any application.
Usage
Cargo.toml
[]
= "0.1"
Rhai script
// Create random boolean
let decision = ;
if decision else
// Create array
let a = ;
// Shuffle it!
a.;
// Now the array is shuffled randomly!
;
// Sample a random value from the array
;
// Or sample multiple values
;
Rust source
// packages::Package implements `as_shared_module`
// which we need to register the RandomPackage
use ;
use RandomPackage;
// Create Rhai scripting engine
let mut engine = new;
// Create random number package and add the package into the engine
engine.register_global_module;
// Print 10 random numbers, each of which between 0-99!
for _ in 0..10
Features
Feature | Default | Description |
---|---|---|
metadata |
disabled | includes functions metadata: parameter names/types, return type, doc-comments |
decimal |
Disabled | provides random decimal number generation |
float |
enabled | provides random floating-point number generation |
array |
enabled | provides methods for Rhai arrays |
API
The following functions are defined in this package:
Function | Return value | Feature | Description |
---|---|---|---|
rand() |
INT |
generates a random integer number | |
rand(start..end) |
INT |
generates a random integer number within an exclusive range | |
rand(start..=end) |
INT |
generates a random integer number within an inclusive range | |
rand(start, end) |
INT |
generates a random integer number within a range | |
rand_float() |
FLOAT |
float |
generates a random floating-point number between 0.0 and 1.0 |
rand_float(start, end) |
FLOAT |
float |
generates a random floating-point number an exclusive range |
rand_decimal() |
Decimal |
decimal |
generates a random decimal number |
rand_decimal(start, end) |
Decimal |
decimal |
generates a random decimal number within a range |
rand_bool() |
bool |
generates a random boolean | |
rand_bool(p) |
bool |
generates a random boolean with the probability p of being true |
|
Array.shuffle() |
array |
shuffles the items in the Rhai array | |
Array.sample() |
Dynamic |
array |
copies a random element from the Rhai array |
Array.sample(n) |
Array |
array |
copies a non-repeating random sample of elements from the Rhai array |