Trait artichoke::prelude::Value[][src]

pub trait Value {
    type Artichoke;
    type Arg;
    type Value: Value;
    type Block;
    type Error;
    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, Global>;
fn to_s(&self, interp: &mut Self::Artichoke) -> Vec<u8, Global>;
fn ruby_type(&self) -> Ruby; fn try_into<T>(self, interp: &Self::Artichoke) -> Result<T, Self::Error>
    where
        Self::Artichoke: TryConvert<Self, T>,
        <Self::Artichoke as TryConvert<Self, T>>::Error == Self::Error
, { ... }
fn try_into_mut<T>(
        self,
        interp: &mut Self::Artichoke
    ) -> Result<T, Self::Error>
    where
        Self::Artichoke: TryConvertMut<Self, T>,
        <Self::Artichoke as TryConvertMut<Self, T>>::Error == Self::Error
, { ... } }

A boxed Ruby value owned by the interpreter.

Value is equivalent to an RValue in MRI or mrb_value in mruby.

Associated Types

type Artichoke[src]

Concrete type for Artichoke interpreter.

type Arg[src]

Concrete type for arguments passed to funcall.

type Value: Value[src]

Concrete type for results from funcall.

type Block[src]

Concrete type for blocks passed to funcall.

type Error[src]

Concrete error type for funcall errors.

Loading content...

Required methods

fn funcall(
    &self,
    interp: &mut Self::Artichoke,
    func: &str,
    args: &[Self::Arg],
    block: Option<Self::Block>
) -> Result<Self::Value, Self::Error>
[src]

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.

fn freeze(&mut self, interp: &mut Self::Artichoke) -> Result<(), Self::Error>[src]

Call #freeze on this Value.

Errors

If an exception is raised on the interpreter, then an error is returned.

fn is_frozen(&self, interp: &mut Self::Artichoke) -> bool[src]

Call #frozen? on this Value.

fn is_nil(&self) -> bool[src]

Whether self is nil

fn respond_to(
    &self,
    interp: &mut Self::Artichoke,
    method: &str
) -> Result<bool, Self::Error>
[src]

Whether self responds to a method.

Equivalent to invoking #respond_to? on this Value.

Errors

If an exception is raised on the interpreter, then an error is returned.

fn inspect(&self, interp: &mut Self::Artichoke) -> Vec<u8, Global>[src]

Call #inspect on this Value.

This function can never fail.

fn to_s(&self, interp: &mut Self::Artichoke) -> Vec<u8, Global>[src]

Call #to_s on this Value.

This function can never fail.

fn ruby_type(&self) -> Ruby[src]

Return this values Rust-mapped type tag.

Loading content...

Provided methods

fn try_into<T>(self, interp: &Self::Artichoke) -> Result<T, Self::Error> where
    Self::Artichoke: TryConvert<Self, T>,
    <Self::Artichoke as TryConvert<Self, T>>::Error == Self::Error
[src]

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.

fn try_into_mut<T>(self, interp: &mut Self::Artichoke) -> Result<T, Self::Error> where
    Self::Artichoke: TryConvertMut<Self, T>,
    <Self::Artichoke as TryConvertMut<Self, T>>::Error == Self::Error
[src]

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.

Loading content...

Implementations on Foreign Types

impl Value for Value[src]

type Artichoke = Artichoke

type Arg = Value

type Value = Value

type Block = Value

type Error = Error

pub fn funcall(
    &self,
    interp: &mut <Value as Value>::Artichoke,
    func: &str,
    args: &[<Value as Value>::Arg],
    block: Option<<Value as Value>::Block>
) -> Result<<Value as Value>::Value, <Value as Value>::Error>
[src]

pub fn freeze(
    &mut self,
    interp: &mut <Value as Value>::Artichoke
) -> Result<(), <Value as Value>::Error>
[src]

pub fn is_frozen(&self, interp: &mut <Value as Value>::Artichoke) -> bool[src]

pub fn inspect(
    &self,
    interp: &mut <Value as Value>::Artichoke
) -> Vec<u8, Global>
[src]

pub fn is_nil(&self) -> bool[src]

pub fn respond_to(
    &self,
    interp: &mut <Value as Value>::Artichoke,
    method: &str
) -> Result<bool, <Value as Value>::Error>
[src]

pub fn to_s(&self, interp: &mut <Value as Value>::Artichoke) -> Vec<u8, Global>[src]

pub fn ruby_type(&self) -> Ruby[src]

Loading content...

Implementors

Loading content...