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

Mark Sadler
Mark Sadler
2,922 Points

The && operator - Stuck on this challenge

Here are the directions. What am I doing wrong?

Challenge Task 1 of 1

Set the return value of the "check_speed" method to the string "safe" depending on the following condition: The speed passed in as an argument is at least 40. The speed passed in as an argument is less than or equal to 50. You should use the "&&" logical operator to accomplish this task.

ruby.rb
def check_speed(car_speed)
  if (car_speed >= 40) && (car_speed <= 50)
    return "safe"
end

3 Answers

William Li
PLUS
William Li
Courses Plus Student 26,868 Points

Yes, what Colin said, you forgot to close the if clause with end keyword, that's a common syntax error made by many new Ruby coders.

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

Alternatively, you don't have to use end if you put it all in a single statement.

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

Like this.

Colin Bell
Colin Bell
29,679 Points

Better answer than mine. Upvoted.

Colin Bell
Colin Bell
29,679 Points

You ended the def but you didn't end the if statement.

Mark Sadler
Mark Sadler
2,922 Points

Thanks Colin and William. I appreciate your help.