Struct arithmetic_eval::fns::Len
source · pub struct Len;
Expand description
Function returning array / object length.
Type
(using arithmetic-typing
notation)
([T]) -> Num
Examples
let program = "len(()) == 0 && len((1, 2, 3)) == 3";
let program = Untyped::<F32Grammar>::parse_statements(program)?;
let module = ExecutableModule::new("tes_len", &program)?;
let mut env = Environment::new();
env.insert_native_fn("len", fns::Len);
assert_eq!(module.with_env(&env)?.run()?, Value::Bool(true));
Trait Implementations§
source§impl<T: FromPrimitive> NativeFn<T> for Len
impl<T: FromPrimitive> NativeFn<T> for Len
source§fn evaluate(
&self,
args: Vec<SpannedValue<T>>,
ctx: &mut CallContext<'_, T>
) -> EvalResult<T>
fn evaluate( &self, args: Vec<SpannedValue<T>>, ctx: &mut CallContext<'_, T> ) -> EvalResult<T>
Executes the function on the specified arguments.
impl Copy for Len
Auto Trait Implementations§
impl RefUnwindSafe for Len
impl Send for Len
impl Sync for Len
impl Unpin for Len
impl UnwindSafe for Len
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more