grass/src/builtin/list.rs

19 lines
479 B
Rust
Raw Normal View History

use std::collections::HashMap;
2020-02-02 21:09:29 -05:00
2020-02-14 10:10:51 -05:00
use super::Builtin;
use crate::units::Unit;
use crate::value::{Number, Value};
pub(crate) fn register(f: &mut HashMap<String, Builtin>) {
f.insert(
"length".to_owned(),
Box::new(|args, _| {
let len = match arg!(args, 0, "list") {
Value::List(v, _) => Number::from(v.len()),
_ => Number::from(1),
};
Ok(Value::Dimension(len, Unit::None))
}),
);
2020-02-14 10:10:51 -05:00
}