mardi 2 juin 2015

Refactoring if elsif else in Ruby

Is there a way to refactor this code and make it cleaner? Can you use fewer booleans to solve this problem?

def get_grade(grade_num)
  if grade_num > 100
    return "Please enter a number between 0 and 100"
  elsif grade_num <=100 && grade_num >= 90
    return 'A'
  elsif grade_num < 90 && grade_num >= 80
    return 'B'
  elsif grade_num < 80 && grade_num >= 70
    return 'C'
  elsif grade_num < 70 && grade_num >= 60
    return 'D'
  elsif grade_num < 60
    return 'F'
  end
end 

Aucun commentaire:

Enregistrer un commentaire