rl_lang/interpreter/stdlib/array/arr_reverse.rs
1use crate::{
2 interpreter::{evaluator::Evaluator, values::Value},
3 utils::{errors::Error, span::Span},
4};
5
6pub fn std_arr_reverse(eval: &mut Evaluator, array: Value, span: Span) -> Result<Value, Error> {
7 match array {
8 Value::Values { items_type, items } => {
9 let mut items = items;
10 items.reverse();
11 Ok(Value::Values { items_type, items })
12 }
13 _ => Err(eval.err("arr_reverse() accepts only arrays".to_string(), span)),
14 }
15}