mumu-array 0.1.2

Array tools plugin for the MuMu/Lava language
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use mumu::parser::types::Value;
use mumu::parser::interpreter::Interpreter;

pub fn array_init_bridge(_interp: &mut Interpreter, args: Vec<Value>) -> Result<Value, String> {
    if args.len() != 1 {
        return Err("array:init expects exactly one argument".to_string());
    }
    let arr = &args[0];
    match arr {
        Value::IntArray(xs) if xs.len() > 1 => Ok(Value::IntArray(xs[..xs.len() - 1].to_vec())),
        Value::FloatArray(xs) if xs.len() > 1 => Ok(Value::FloatArray(xs[..xs.len() - 1].to_vec())),
        Value::StrArray(xs) if xs.len() > 1 => Ok(Value::StrArray(xs[..xs.len() - 1].to_vec())),
        Value::BoolArray(xs) if xs.len() > 1 => Ok(Value::BoolArray(xs[..xs.len() - 1].to_vec())),
        Value::MixedArray(xs) if xs.len() > 1 => Ok(Value::MixedArray(xs[..xs.len() - 1].to_vec())),
        _ => Ok(Value::MixedArray(vec![])),
    }
}