Struct ruru::AnyObject
[−]
[src]
pub struct AnyObject { // some fields omitted }
Representation of any Ruby object while its type is unknown
As Ruby is a dynamically typed language, at some points Ruru does not know the exact Ruby type of the object, for example:
Retrieving an object from array;
Retrieving an object from hash;
Receiving arguments to a method;
Initializing a new instance of a non-built-in class.
In these cases you should cast AnyObject
to the required type.
Examples
Retrieving an object from Array
use ruru::{Array, Fixnum, Object, VM}; let array = Array::new().push(Fixnum::new(1)); let value = array.at(0).try_convert_to::<Fixnum>(); // `Array::at()` returns `AnyObject` assert_eq!(value, Ok(Fixnum::new(1)));
Retrieving an object from Hash
use ruru::{Fixnum, Hash, Object, Symbol, VM}; let mut hash = Hash::new(); hash.store(Symbol::new("key"), Fixnum::new(1)); // `Hash::at()` returns `AnyObject` let value = hash.at(Symbol::new("key")).try_convert_to::<Fixnum>(); assert_eq!(value, Ok(Fixnum::new(1)));
You can find more examples in Class
, Object
and VerifiedObject
documentation.
Trait Implementations
impl Clone for AnyObject
[src]
fn clone(&self) -> AnyObject
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0
Performs copy-assignment from source
. Read more
impl Debug for AnyObject
[src]
impl PartialEq for AnyObject
[src]
fn eq(&self, __arg_0: &AnyObject) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, __arg_0: &AnyObject) -> bool
This method tests for !=
.
impl From<Value> for AnyObject
[src]
impl Object for AnyObject
[src]
fn value(&self) -> Value
Returns internal value
of current object. Read more
fn class(&self) -> Class
Returns a class of current object. Read more
fn singleton_class(&self) -> Class
Returns a singleton class of current object. Read more
fn define<F: Fn(&mut Self)>(&mut self, f: F) -> &Self
Wraps calls to the object. Read more
fn define_method<I: Object, O: Object>(&mut self, name: &str, callback: Callback<I, O>)
Defines an instance method for the given class or object. Read more
fn define_singleton_method<I: Object, O: Object>(&mut self, name: &str, callback: Callback<I, O>)
Defines a class method for given class or singleton method for object. Read more
fn def<I: Object, O: Object>(&mut self, name: &str, callback: Callback<I, O>)
An alias for define_method
(similar to Ruby syntax def some_method
).
fn def_self<I: Object, O: Object>(&mut self, name: &str, callback: Callback<I, O>)
An alias for define_singleton_method
(similar to Ruby def self.some_method
).
fn send(&self, method: &str, arguments: Vec<AnyObject>) -> AnyObject
Calls a given method on an object similarly to Ruby Object#send
method Read more
fn respond_to(&self, method: &str) -> bool
Checks whether the object responds to given method Read more
fn is_nil(&self) -> bool
Checks whether the object is nil
Read more
fn to_any_object(&self) -> AnyObject
Converts struct to AnyObject
Read more
fn instance_variable_get(&self, variable: &str) -> AnyObject
Gets an instance variable of object Read more
fn instance_variable_set<T: Object>(&mut self, variable: &str, value: T) -> AnyObject
Sets an instance variable for object Read more
unsafe fn to<T: Object>(&self) -> T
Unsafely casts current object to the specified Ruby type Read more
fn try_convert_to<T: VerifiedObject>(&self) -> Result<T>
Safely casts current object to the specified Ruby type Read more
fn ty(&self) -> ValueType
Determines the value type of the object Read more