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

What is my syntactic error?

What is my syntactic error?

ruby.rb
def check_speed(car_speed)
if (car_speed == 40) || (car_speed > 40) && (car_speed == 50) || (car_speed < 50)
  puts "safe"
else
  puts "unsafe"
end
check_speed(car_speed)

2 Answers

Ari Misha
Ari Misha
19,323 Points

Hiya there! You're doing too much stuff which is syntactically wrong. Also you forgot to close the if block. You made it complex and you kinda fall in your own trap. But dont worry the solution is very simple. Instead of doing separate conditionals for == and < or >, you can always go for <=( less than and equal to ) or >= ( greater than and equal ). Here is how your code should look like:

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

Thanks a lot it works :)