There are currently no frequently asked questions associated with this exercise – that’s where you come in! You can contribute to this section by offering your own questions, answers, or clarifications on this exercise. Ask or answer a question by clicking reply () below.
If you’ve had an “aha” moment about the concepts, formatting, syntax, or anything else with this exercise, consider sharing those insights! Teaching others and answering their questions is one of the best ways to learn and stay sharp.
Join the Discussion. Help a fellow learner on their journey.
Ask or answer a question about this exercise by clicking reply () below!
Agree with a comment or answer? Like () to up-vote the contribution!
But in your code you didn’t have an action in the argument. Shouldn’t it either have return or puts before “Welcome to Ruby!” like my 2 examples above?
Ruby methods may be parameterless, as above, meaning there is no argument and no parens required when we call them. We treat them like any polled variable.
Also good to keep in mind is implicit return which is always the last line in the code block when return is not explicit before the last line. The above is only one line, so that is what gets returned.
For everyone confused here, you are defining a function named welcome that outputs to the console “Welcome to Ruby”. You are supposed to just call the welcome function, which will execute the code inside of it (calling the welcome function outputs “Welcome to Ruby!”), you are not supposed to output the return value of the welcome method.
(I hope I am making sense.)
Example:
Good code: Defines a welcome method which outputs “Welcome to Ruby!” and then calls that method, executing the code inside of it.
def welcome
puts "Welcome to Ruby!"
end
welcome # => "Welcome to Ruby!"
Good code: Defines a method which returns “Welcome to Ruby!” and then outputs the return value of that method.
def welcome
return "Welcome to Ruby!"
end
puts welcome # => "Welcome to Ruby!"
Bad code: Defines a method which outputs “Welcome to Ruby!” and then tries to puts welcome.
def welcome
puts "Welcome to Ruby!"
end
puts welcome # => "Welcome to Ruby"; 25; "Welcome to Ruby!"
Bad code: Defines a method which outputs “Welcome to Ruby” and then does nothing with that method.
def welcome
puts "Welcome to Ruby!"
end
# nothing happens.