pub trait Value {
    type Artichoke;
    type Arg;
    type Value: Value;
    type Block;
    type Error;
    // Required methods
    fn funcall(
        &self,
        interp: &mut Self::Artichoke,
        func: &str,
        args: &[Self::Arg],
        block: Option<Self::Block>,
    ) -> Result<Self::Value, Self::Error>;
    fn freeze(
        &mut self,
        interp: &mut Self::Artichoke,
    ) -> Result<(), Self::Error>;
    fn is_frozen(&self, interp: &mut Self::Artichoke) -> bool;
    fn is_nil(&self) -> bool;
    fn respond_to(
        &self,
        interp: &mut Self::Artichoke,
        method: &str,
    ) -> Result<bool, Self::Error>;
    fn inspect(&self, interp: &mut Self::Artichoke) -> Vec<u8> ⓘ;
    fn to_s(&self, interp: &mut Self::Artichoke) -> Vec<u8> ⓘ;
    fn ruby_type(&self) -> Ruby;
    // Provided methods
    fn try_convert_into<T>(
        self,
        interp: &Self::Artichoke,
    ) -> Result<T, Self::Error>
       where Self: Sized,
             Self::Artichoke: TryConvert<Self, T, Error = Self::Error> { ... }
    fn try_convert_into_mut<T>(
        self,
        interp: &mut Self::Artichoke,
    ) -> Result<T, Self::Error>
       where Self: Sized,
             Self::Artichoke: TryConvertMut<Self, T, Error = Self::Error> { ... }
}Expand description
A boxed Ruby value owned by the interpreter.
Value is equivalent to an RValue in MRI or mrb_value in mruby.
Required Associated Types§
Required Methods§
Sourcefn funcall(
    &self,
    interp: &mut Self::Artichoke,
    func: &str,
    args: &[Self::Arg],
    block: Option<Self::Block>,
) -> Result<Self::Value, Self::Error>
 
fn funcall( &self, interp: &mut Self::Artichoke, func: &str, args: &[Self::Arg], block: Option<Self::Block>, ) -> Result<Self::Value, Self::Error>
Call a method on this Value with arguments and an optional block.
§Errors
If an exception is raised on the interpreter, then an error is returned.
If a TryConvert conversion fails, then an error is returned.
Sourcefn respond_to(
    &self,
    interp: &mut Self::Artichoke,
    method: &str,
) -> Result<bool, Self::Error>
 
fn respond_to( &self, interp: &mut Self::Artichoke, method: &str, ) -> Result<bool, Self::Error>
Sourcefn inspect(&self, interp: &mut Self::Artichoke) -> Vec<u8> ⓘ
 
fn inspect(&self, interp: &mut Self::Artichoke) -> Vec<u8> ⓘ
Call #inspect on this Value.
This function can never fail.
Sourcefn to_s(&self, interp: &mut Self::Artichoke) -> Vec<u8> ⓘ
 
fn to_s(&self, interp: &mut Self::Artichoke) -> Vec<u8> ⓘ
Call #to_s on this Value.
This function can never fail.
Sourcefn ruby_type(&self) -> Ruby
 
fn ruby_type(&self) -> Ruby
Return this values Rust-mapped type tag.
Provided Methods§
Sourcefn try_convert_into<T>(self, interp: &Self::Artichoke) -> Result<T, Self::Error>
 
fn try_convert_into<T>(self, interp: &Self::Artichoke) -> Result<T, Self::Error>
Consume self and try to convert self to type T using a
TryConvert conversion.
§Errors
If a TryConvert conversion fails, then an error is returned.
Sourcefn try_convert_into_mut<T>(
    self,
    interp: &mut Self::Artichoke,
) -> Result<T, Self::Error>
 
fn try_convert_into_mut<T>( self, interp: &mut Self::Artichoke, ) -> Result<T, Self::Error>
Consume self and try to convert self to type T using a
TryConvertMut conversion.
§Errors
If a TryConvertMut conversion fails, then an error is returned.