[][src]Macro rutie::eval

macro_rules! eval {
    ($string_arg:expr) => { ... };
    ($string_arg:expr, $binding_arg:expr) => { ... };
    ($string_arg:expr, $binding_arg:expr, $filename:expr) => { ... };
    ($string_arg:expr, $binding_arg:expr, $filename:expr, $linenumber:expr) => { ... };
}

eval(string [, binding [, filename [,lineno]]]) → obj

Examples

#[macro_use]
extern crate rutie;
use rutie::{Object, Integer, Binding, VM};

fn main() {

    let binding = eval!("asdf = 1; binding").unwrap().
      try_convert_to::<Binding>().unwrap();

    let result = eval!("asdf", binding).unwrap();

    match result.try_convert_to::<Integer>() {
        Ok(v) => assert_eq!(1, v.to_i64()),
        Err(_) => unreachable!(),
    }
}