- Read Tutorial
- Watch Guide Video
Learning what a method returns is critical in any programming language, Ruby specifically has a unique way with working with returned values. In this lesson, we are going to learn what a method returns.
I'm going to use the same method we created in the last lesson, which is:
def baseball_team_list p ["A's", "Angels", "Astros"] end baseball_team_list
In other traditional programming languages, you have to explicitly used the word
return to tell the method to return the values you want. For example, you would have to type something like:
def second_baseball_team_list return p ["A's", "Angels", "Astros"] end second_baseball_team_list
Now, if you hit run, this code will get executed without any errors. However, Ruby does not need an explicit declaration of
return like this because it is smart enough to know that it has to return the last line of code inside the method. This is why using the word
return is considered a poor practice because:
- We want to avoid using extra code when it's not needed
- It may confused experienced Ruby developers. The only time you want to use the word
returnis when you want a method to end pre-maturely.
You can use the word
return as a part of a conditional, so that the method returns one set of values when the condition is met and another set when it is not met. For example:
def second_baseball_team_list x = 10 return ["A's", "Angels", "Astros"] if x == 10 ["yankees", "Mets"] end p second_baseball_team_list
If you run this method, it returned the value
"A's", "Angels", "Astros" because the value of
10. Also, if you notice, it skipped the second set of teams entirely because when the condition was met, the program simply returns the value and exits. This means, when you have the word
return, the remaining part of the method does not get executed. Now, if I change the value of
15, then it prints
So, this is the one time you can use the word
return in Ruby.