Struct ruru::Array
[−]
[src]
pub struct Array { // some fields omitted }
Array
Methods
impl Array
[src]
fn new() -> Self
fn length(&self) -> usize
Retrieves the length of the array.
Examples
use ruru::{Array, Fixnum, VM}; let mut array = Array::new().push(Fixnum::new(1)); assert_eq!(array.length(), 1); array.push(Fixnum::new(2)); assert_eq!(array.length(), 2);
Ruby:
array = [1]
array.length == 1
array << 2
array.length == 2
fn at(&self, index: i64) -> AnyObject
Retrieves an AnyObject
from element at index
position.
Examples
use ruru::{Array, Fixnum, Object, VM}; let array = Array::new().push(Fixnum::new(1)); assert_eq!(array.at(0).try_convert_to::<Fixnum>(), Ok(Fixnum::new(1)));
Ruby:
array = [1]
array[0] == 1
fn join(&self, separator: RString) -> RString
Joins all elements of Array
to Ruby String
.
Examples
use ruru::{Array, RString, VM}; let array = Array::new() .push(RString::new("Hello")) .push(RString::new("World!")); let joined_string = array.join(RString::new(", ")).to_string(); assert_eq!(joined_string, "Hello, World!".to_string());
Ruby:
array = ['Hello', 'World!']
array.join(', ') == 'Hello, World!'
fn push<T: Object>(&mut self, item: T) -> Self
Pushes an object to Array
.
Examples
use ruru::{Array, Fixnum, Object, VM}; let mut array = Array::new(); array.push(Fixnum::new(1)); assert_eq!(array.at(0).try_convert_to::<Fixnum>(), Ok(Fixnum::new(1)));
Ruby:
array = []
array << 1
array[0] == 1
fn store<T: Object>(&mut self, index: i64, item: T) -> AnyObject
Stores an object at index
position.
Examples
use ruru::{Array, Fixnum, Object, VM}; let mut array = Array::new().push(Fixnum::new(1)); array.store(0, Fixnum::new(2)); assert_eq!(array.at(0).try_convert_to::<Fixnum>(), Ok(Fixnum::new(2)));
Ruby:
array = [1]
array[0] = 2
array[0] == 2
Trait Implementations
impl Debug for Array
[src]
impl PartialEq for Array
[src]
fn eq(&self, __arg_0: &Array) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, __arg_0: &Array) -> bool
This method tests for !=
.
impl From<Value> for Array
[src]
impl Object for Array
[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
impl VerifiedObject for Array
[src]
fn is_correct_type<T: Object>(object: &T) -> bool
fn error_message() -> &'static str
impl IntoIterator for Array
[src]
Allows Arrays to be iterable in Rust.
Examples
use ruru::{Array, Fixnum, Object, VM}; let mut array = Array::new().push(Fixnum::new(1)); array.push(Fixnum::new(2)); array.push(Fixnum::new(3)); let mut sum: i64 = 0; for item in array.into_iter() { sum += item.try_convert_to::<Fixnum>().unwrap().to_i64(); } assert_eq!(sum, 6);
type Item = AnyObject
The type of the elements being iterated over.
type IntoIter = ArrayIterator
Which kind of iterator are we turning this into?
fn into_iter(self) -> Self::IntoIter
Creates an iterator from a value. Read more
impl FromIterator<AnyObject> for Array
[src]
Converts an iterator into Array
.
Examples
use ruru::{Array, Fixnum, Object, VM}; let array: Array = (1..6) .map(|num| num * 2) .map(|num| Fixnum::new(num).to_any_object()) .collect(); assert_eq!(array.length(), 5); for i in 0..5 { let expected_number = (i + 1) * 2; assert_eq!(array.at(i).try_convert_to::<Fixnum>().unwrap().to_i64(), expected_number); }
fn from_iter<I: IntoIterator<Item=AnyObject>>(iter: I) -> Self
Creates a value from an iterator. Read more