- Identify the result of method calls on arrays
- Perform simple array manipulations
In a previous lab, you learned how to create arrays and access the elements of an array. Now you are ready to manipulate arrays using different Ruby methods.
Fork and clone this lab. Run learn
to see the initial test failures, then
write the required methods in the
lib/introduction_to_simple_array_manipulation.rb
file to get the tests to
pass.
Consult the official documentation of the Ruby Language for the methods you need to use to solve the problems in this lab.
In this lab, your task is to create methods that use some of the common Array
methods. As you read the method descriptions, make sure to pay attention to
understanding what the method returns. For instance, when you call .push
on an
array, it returns the updated array:
artists = ["Hozier", "Ariana Grande", "Usher"]
next_artist = "Beyonce"
artists.push(next_artist)
# => ["Hozier", "Ariana Grande", "Usher", "Beyonce"]
However, .pop
works a little differently; it removes (and returns) the last
element from an array:
artists = ["Frida Kahlo", "Pablo Picasso", "Cai Guo-Qiang"]
artists.pop
# => "Cai Guo-Qiang"
artists
# => ["Frida Kahlo", "Pablo Picasso"]
You can see that while .pop
removes "Cai Guo-Qiang"
from the artists
array, .pop
also supplies "Cai Guo-Qiang"
as its return.
Top-tip: One of the most common problems you will encounter on your journey to becoming a software developer is not knowing what object a method returns. For example, you might assume that the result of a method call is a string but instead it is an array.
Create the methods detailed below in
lib/intro_to_simple_array_manipulations.rb
. Let's work through the first
together!
This method takes in two parameters, an Array
and a String
. It adds that
string to the end of the array using the .push
method.
To start, we know the method name, and that it takes in two parameters. We can
name theese parameters array
and string
for simplicity.
def using_push(array, string)
end
With the method created, we can add the implementation. As we saw in the previous
example, we can append .push
to any array, pass in a value, and that value will
get added to the array.
def using_push(array, string)
array.push(string)
end
Calling array.push(string)
will return the updated array, which happens to be
what we using_push
shoulds return. The rest are up to you solve!
This method takes in two parameters, an Array
and a String
and adds that
string to the front of the array using the .unshift
method.
This method takes in parameter of an Array
and uses the .pop
method to remove
the last element from the array and return that element.
This method takes in a parameter of an Array
and uses the .pop
method. This
time, however, pass an argument, 2
, into .pop
to remove the last two array
items and return them.
This method takes in a parameter of an Array
and uses the .shift
method to
remove the first item and return it.
This method takes in a parameter of an Array
and uses the .shift
method.
This time, pass an argument, 2
, into .shift
to remove and return the first
two items from the array.
Now that you've gotten familiar with a few of the methods that the Ruby library provides, you can perform some of the same manipulations you've been practice much more simply.