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!(),
}
}