方法之间的区别

时间:2014-10-05 00:19:48

标签: ruby

除了语法之外,运行这两种方法中的任何一种方法有什么好处?一个人在服务器上更轻或使用更少的资源?

def get_grade(grade)
  if grade.to_i >= 90
    "A"
  elsif (grade >= 79) && (grade <= 89)
    "B"
  elsif (grade >= 68) && (grade <= 79)
    "C"
  elsif (grade >= 58) && (grade <= 69)
    "D"
  else
    "F"
  end
end

def get_grade(num)
  if num >= 90
     puts "A"
  elsif num >= 80
     puts "B"
  elsif num >= 70
     puts "C"
  elsif num >= 60
     puts "D"
  else
     puts "F"
  end
end

1 个答案:

答案 0 :(得分:4)

更多惯用的Ruby将是

case grade
when 90..100
  "A"
when 80...90
  "B"
when 70...80
  "C"
when 60...70
  "D"
else
  "F"
end

出于优化目的,像这样的微小变化是无关紧要的。您应该更关注什么更具可读性/可理解性/可维护性。