Struct ruru::Array [] [src]

pub struct Array {
    // some fields omitted
}

Array

Methods

impl Array
[src]

Creates a new instance of empty Array.

Examples

use ruru::{Array, VM};

Array::new();

Ruby:

[]

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

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

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!'

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

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]

Formats the value using the given formatter.

impl PartialEq for Array
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl From<Value> for Array
[src]

Performs the conversion.

impl Object for Array
[src]

Returns internal value of current object. Read more

Returns a class of current object. Read more

Returns a singleton class of current object. Read more

Wraps calls to the object. Read more

Defines an instance method for the given class or object. Read more

Defines a class method for given class or singleton method for object. Read more

An alias for define_method (similar to Ruby syntax def some_method).

An alias for define_singleton_method (similar to Ruby def self.some_method).

Calls a given method on an object similarly to Ruby Object#send method Read more

Checks whether the object responds to given method Read more

Checks whether the object is nil Read more

Converts struct to AnyObject Read more

Gets an instance variable of object Read more

Sets an instance variable for object Read more

Unsafely casts current object to the specified Ruby type Read more

Safely casts current object to the specified Ruby type Read more

Determines the value type of the object Read more

impl VerifiedObject for Array
[src]

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);

The type of the elements being iterated over.

Which kind of iterator are we turning this into?

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);
}

Creates a value from an iterator. Read more