jimtcl 0.3.0

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

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

#[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(())
}