0

次のように出力される変数があります。

{:type1=>:poor, :type2=>:avg, :type3=>:best}

このハッシュを反復処理し、次のルールに基づいて最終値を出力したい

  • いずれかのタイプの値が の:best場合、最終的な値はbest
  • いずれかのタイプの値:avgがあり、ないbest場合、最終的な値はavg
  • それ以外の場合、最終値はpoor

基本的に強いものが勝ちます。

私は次のことを試しました

def final_value(values)
  val = "poor"
  values.each do |key, val|

  end
  val
end
4

4 に答える 4

0
def compare(h,val)
 m = ((h.has_value?(val) and val != :poor) ? ((val == :best or h.has_value?(:best))? :best : :avg ) : :poor)
end
h = {:type1=>:poor, :type2=>:avg, :type3=>:best}

p compare(h,:avg) #:best
p compare(h,:trr) #:poor
p compare(h,:best) #:best
于 2013-04-08T18:22:12.640 に答える