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 Basics Conditionals A Better "check_speed" Method

Mika Laakso
Mika Laakso
4,222 Points

The code is not working

It seems that everything is okay, but it does not work.

program.rb
def check_speed(speed)
  if speed < 45
    puts "too slow"
  elsif speed >= 45
    puts "speed OK"
  else speed > 60
    puts "too fast"
  end
end

Your second if-clause will always evaluate to true if the speed is 45 or greater. This means that a speed of 60 would output: "speed OK", as would a speed of 100. You want to limit the second if-clause to a range of 45 - 60. This can be achieved with the following code:

elsif speed >= 45 && speed <= 60

This statement will match speeds greater or equal to 45 and lesser or equal to 60.

1 Answer

Mika Laakso
Mika Laakso
4,222 Points

Thank you Mihkel.