- Define a method that takes and uses a parameter
- Define a method that takes and uses two parameters
- Define a method with an optional parameter
Now that we've seen a few ways of defining methods to add key functionality to
our programs, let's try writing our own methods. You can use the tests to help
guide you by running learn
or learn test
in your terminal; however, this
will probably look familiar to you now.
You'll be coding your methods in lib/introduction.rb
. Detailed guidance is provided
at the end of this lesson, but try to solve these on your own first.
Define a method called introduction
that takes in the parameter name
and outputs
the phrase: "Hi, my name is #{name}."
Define a method called introduction_with_language
that takes in two parameters,
name
and language
and outputs the phrase: "Hi, my name is #{name} and I am learning to program in #{language}."
Copy the previous method and name it introduction_with_language_optional
. It
takes in two parameters, name
and language
, but the second parameter is
optional. The default value for language
will be "Ruby".
For this lab, your task is to create three different methods. The first one is
called introduction
. Before we get to writing the implementation for this method,
let's first structure out our method:
def introduction
end
This method takes in one parameter, name
, and uses it in a message, so we'll add
name
:
def introduction(name)
end
Now we need to write the implementation that will output Hi, my name is
followed by the provided name
and a .
def introduction(name)
puts "Hi, my name is #{name}."
end
For the second method, we'll need to use two parameters, name
and language
,
but the process is similar. First we define an empty method:
def introduction_with_language(name, language)
end
Then add the implementation:
def introduction_with_language(name, language)
puts "Hi, my name is #{name} and I am learning to program in #{language}."
end
Remember that order of parameters is important! The tests will assume name
is
the first parameter.
The final method is similar to the last, but with a slight variation - we need
to make language
an optional parameter:
def introduction_with_language_optional(name, language = "Ruby")
puts "Hi, my name is #{name} and I am learning to program in #{language}."
end
Run learn
to register completion of the tests, then learn submit
to submit
your work.
We've talked about defining methods and passing in both required and optional parameters. This will be the foundation of creating a lot of functionality in Ruby.