ruby arraysArrays are ordered, integer-indexed collections of any object. Array indexing starts at 0, as in C# or Java. A negative index is assumed to be relative to the end of the array-that is, an index of -1 indicates the last element of the array, -2 is the next to last element in the array, and so on.
Hopefully if you are new to the Ruby or you have been doing some Rails work but have not really dug into Ruby, this very basic overview will spark deeper interest into the powerful (and very fun) world of Ruby.
http://carlosgabaldon.com/ruby/ruby-arrays/
Creating a new array
array = Array.new # or array = []
Adding array elements By position
array = [] array[0] = "first element"
To the end
array << "last element" # This adds "last element" to the end of the array # or array.push("last element") # This adds "last element" to the end of the array
To the beginning
array = ["first element", "second element"] array.unshift("before first element") # This adds "before first element" to the beginning of the array
Retrieving array elements
By position
array = ["first element", "second element", "third element"] third_element = array[2] # This returns the third element.
By positions
second_and_third_element = array[1, 2] # This returns a new array that contains the second & third elements
Removing array elements
From the beginning
array = ["first element", "second element"] first_element = array.shift # This removes "first element" from the beginning of the array
From the end
last_element = array.pop # This removes "second element" or the last element from the end of the array
Combining arrays
To a new array
array = [1, 2, 3] array.concat([4, 5, 6, 7]) [1, 2, 3, 4, 5, 6, 7] #or new_array = array + [4, 5, 6] # Using the "+" method returns a new array, but does not modify the original array
Modifying the array
array.replace([4, 5, 6]) [4, 5, 6]
Pairing items
array = [1, 2, 3] new_paired_array = array.zip([4, 5, 6]) [[1,4],[2, 5],[3, 6]] # This creates an array of arrays
Flattening array of arrays
array = [1, 2, 3] new_paired_array_flattened = array.zip([4, 5, 6]).flatten [1, 4, 2, 5, 3, 6]This flattens the arrays of arrays into one Array.
Collecting array elements
array = [1, 2, 3] array.collect {|x| x * 2 } [2, 4, 6]Invokes block once for each element of self. Creates a new array containing the values returned by the block.
Iterating over arrays
[1, 2, 3, 4] .each {|x| puts x} 1 2 3 4
Filtering arrays
[1, 2, 3, 4, 5, 6] .find {|x| puts x > 5}This returns the first element that matches the block criteria.
Querying arrays
array.find_all {|item| criteria }This returns a new array containing all the elements of the array that match the block criteria.
array.sizeThis returns the number of elements in the array.
array.empty?This returns true if the array is empty; false otherwise.
array.include?(item)This returns true if the array contains the item; false otherwise.
array.any? {|item| criteria }This returns true if any item in the array matches the block criteria; false otherwise.
array.all? {|item| criteria }This returns true if all items in the array match the block criteria; false otherwise
Hopefully if you are new to the Ruby or you have been doing some Rails work but have not really dug into Ruby, this very basic overview will spark deeper interest into the powerful (and very fun) world of Ruby.
http://carlosgabaldon.com/ruby/ruby-arrays/
No comments:
Post a Comment