Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

Ruby Ruby Operators and Control Structures Logical Operators The And (&&) Operator

The And (&&) Operator Code Challenge

The method below checks the speed of a car and returns a string value: either "safe" or "unsafe". Return "safe" if: The car_speed passed in as an argument is greater than or equal to the number 40. The car_speed passed in as an argument is less than or equal to the number 50. Otherwise, return "unsafe". Hint: You should use the && logical operator to accomplish this task. :)

ruby.rb
def check_speed(car_speed)
  def check_speed(car_speed)
  if (car_speed >= 40) && (car_speed <= 50)
    return "safe"
  else
    return "unsafe"
 end
end
Rachelle Wood
Rachelle Wood
15,362 Points

Out of curiosity, why do you have the method declared twice?

Oh, I didn't even realize I did that.

3 Answers

Paul Ryan
Paul Ryan
4,584 Points

Remove the first def, you do not need two and remove the brackets from your first if

Rachelle Wood
Rachelle Wood
15,362 Points

The () can be used in the if statement. The code and the challenge will still work.

Paul Ryan
Paul Ryan
4,584 Points

must just be the multiple methods at the top so

Rachelle Wood
Rachelle Wood
15,362 Points

Assuming you have your variable car_speed declared

def check_speed(car_speed)
  if(car_speed >= 40) && (car_speed <= 50)
    return "safe"
  else
    return "unsafe"
  end
end

Thank you! I got it now...It didn't pass because I declared the method twice.

Rachelle Wood
Rachelle Wood
15,362 Points

Yeah it is easy to do things like that in Ruby. I have done that too. That and forgetting to put the right amount of ends in.

Luis Senior
Luis Senior
10,432 Points

why does it need two Ends? I never saw that in any previous videos

Scott Andersen
Scott Andersen
Courses Plus Student 10,244 Points

You have two things to 'end' there. The first 'end' ends the if/else block, and the second one ends the loop itself.