Macro rutie::eval [−][src]
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) => { ... };
}
Expand description
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!(),
}
}