Skip to main content

rl_lang/interpreter/stdlib/random/
rand_int_range.rs

1use crate::{
2    interpreter::{evaluator::Evaluator, values::Value},
3    utils::{errors::Error, span::Span},
4};
5
6pub fn func(eval: &mut Evaluator, min: i64, max: i64, span: Span) -> Result<Value, Error> {
7    if min >= max {
8        return Err(eval.err(
9            "min value shouldn't be bigger than or equal to maximum value",
10            span,
11        ));
12    }
13
14    Ok(Value::Integer(eval.rng.generate_random_int_range(min, max)))
15}