rhai-rand - Package to Generate Random Numbers

License crates.io crates.io

Rhai logo

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

toml [dependencies] rhai-rand = "0.1"

[Rhai] script

```js // Create random boolean let decision = rand_bool();

if decision { // Create random number let random_value = rand(); print(Random number = ${random_value}); } else { print("Fixed number = 42"); }

// Create array let a = [1, 2, 3, 4, 5];

// Shuffle it! a.shuffle();

// Now the array is shuffled randomly! print(a);

// Sample a random value from the array print(a.sample());

// Or sample multiple values print(a.sample(3)); ```

Rust source

``rust // packages::Package implementsassharedmodule` // which we need to register the RandomPackage use rhai::{Engine, packages::Package}; use rhai_rand::RandomPackage;

// Create Rhai scripting engine let mut engine = Engine::new();

// Create random number package and add the package into the engine engine.registerglobalmodule(RandomPackage::new().assharedmodule());

// Print 10 random numbers, each of which between 0-99! for _ in 0..10 { let value = engine.eval::("(rand() % 100).abs()")?;

println!("Random number = {}", value);

} ```

API and Features

See the online documentation.