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.