CirclingMinds

March 9, 2007

Ruby Arrays

Filed under: ruby — shovan @ 9:36 pm

We all know arrays are indexed collections. We also know that keys in array are integers and that the indices start at zero. So lets jump into some examples:

a= ['The','Dark','Side','Of'.'The','Moon']

a painful way to create the array :(
.another way


a = Array.new
a << "The"
a << "Dark"
a << "Side"
a << "Of"
a << "The"
a << "Moon"

same can be achieved by


a = %w{ The Dark Side Of The Moon}

much easier eh.. :)
that can also be achieved by


a = "The Dark Side Of The Moon".split(" ")

awesome :) :)

Here is a list of some useful array functions:

To remove all elements from an array use the “clear” method.


a.clear     ->     [ ]     #an empty array

To find out the length of the array use “length” method. Returns an integer


a.length     ->     [a,b,c ]     #length array

To remove the last element in the array use the “pop” method. Returns an object or nil


a = [ "a", "m", "z" ]
a.pop -> "z"
a -> ["a", "m"]

To add an element(s) into the array use the “push” method.


a = [ "a", "b", "c" ]
a.push("d", "e", "f") -> ["a", "b", "c", "d", "e", "f"]

As with any collection in ruby, you can use the “each” method to loop through its contents. It call the block once for each element. The element will be passed as a parameter.


a = [ "a", "b", "c" ]
a.each {|x| print x, " - " }
produces:
a - b - c -

To loop through an array using the index use the “each_index” method.
eachindex arr.eachindex {| anIndex | block } -> arr


a = [ "a", "b", "c" ]
a.each_index {|x| print x, " - " }
produces:
0 - 1 - 2 -

To find out if the array is empty or not use the “empty?” method. This method returns either true or false


arr.empty? -> true or false

To join the elements of an array into a string use the “join” method. An optional string separater is present as a parameter.


[ "a", "b", "c" ].join -> "abc"
[ "a", "b", "c" ].join("-") -> "a-b-c"

To concatenate array you can use the “concat” method.


[ "a", "b" ].concat( ["c", "d"] ) -> ["a", "b", "c", "d"]

To remove the nil elements in the array use the “compact” method.


[ "a", nil, "b", nil, "c", nil ].compact -> ["a", "b", "c"]

No Comments »

No comments yet.

RSS feed for comments on this post. TrackBack URL

Leave a comment

Powered by WordPress