jimtcl 0.5.0-beta3

Embed Jim Tcl in Rust.
Documentation
#[cfg(test)]
use jimtcl::{Interp, JimObject, JimResult, object::IntoJimObj};

#[cfg(test)]
fn test_sum<'jim>(interp: &'jim Interp, args: &[JimObject<'jim>]) -> JimResult<JimObject<'jim>> {
    let mut total = 0i64;
    for arg in &args[1..] {
        let v = i64::try_from(arg)?;
        total += v;
    }
    Ok(total.to_jim(interp))
}

#[test]
fn test_call_sum() -> JimResult<()> {
    let interp = Interp::new()?;
    interp.add_command("sum", test_sum)?;
    let rv = interp.eval("sum 5 2 100")?;
    let sum = i64::try_from(&rv)?;
    assert_eq!(sum, 107);
    Ok(())
}