pub struct MrbValue {
pub mrb: *mut minu_state,
pub val: minu_value,
}
Expand description
Represents values returned from mruby world.
Using minutus::define_funcall
macro, you can define arbitrary methods to this type.
Fields§
§mrb: *mut minu_state
§val: minu_value
Implementations§
source§impl MrbValue
impl MrbValue
pub fn new(mrb: *mut minu_state, val: minu_value) -> Self
sourcepub fn call<ARGS: IntoArgs, RETVAL: TryFromMrb>(
&self,
name: &str,
args: ARGS
) -> MrbResult<RETVAL>
pub fn call<ARGS: IntoArgs, RETVAL: TryFromMrb>( &self, name: &str, args: ARGS ) -> MrbResult<RETVAL>
Call mruby’s method.
let runtime = minutus::Evaluator::build();
let int_123 = runtime.evaluate("123").unwrap();
let inspected: String = int_123.call("inspect", ()).unwrap();
assert_eq!("123", inspected);
let plus_result: i64 = int_123.call("+", (100,)).unwrap();
assert_eq!(223, plus_result);
Trait Implementations§
source§impl MrbValueLike for MrbValue
impl MrbValueLike for MrbValue
fn mrb(&self) -> *mut minu_state
fn val(&self) -> minu_value
source§impl TryFromMrb for MrbValue
impl TryFromMrb for MrbValue
fn try_from_mrb(value: MrbValue) -> MrbResult<Self>
source§impl TryIntoMrb for MrbValue
impl TryIntoMrb for MrbValue
fn try_into_mrb(self, _mrb: *mut minu_state) -> MrbResult<MrbValue>
Auto Trait Implementations§
impl RefUnwindSafe for MrbValue
impl !Send for MrbValue
impl !Sync for MrbValue
impl Unpin for MrbValue
impl UnwindSafe for MrbValue
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more