2016-07-08 6 views
0

ルビーに書き込む方がいいですか? 私は行列のようなものを作成する必要があります。私がコメントで言ったように、私は他の場所でこのマップを入れてしまうでしょう、http://paste.ofcode.org/dgFrYpuAsv8f77r36pdvXPそれはより良い方法を書くには?

def suggest_by_area_and_price area_range, price_range 
    broker_level = case area_range 
         when 0..100 
          return case price_range 
             when 0..25000 
              :intern_broker 
             when 25001..Float::INFINITY 
              :junior_broker 
            end 
         when 101..200 
          return case price_range 
             when 0..18000 
              :intern_broker 
             when 18001..30000 
              :junior_broker 
             when 30000..Float::INFINITY 
              :broker 
            end 



         #.... 


         when 1500..Float::INFINITY 
          :senior_broker 
         else 
          :junior_broker 
        end 
end 
+0

これらの範囲をハードコード化しておくのは悪い考えです。彼らはいくつかの構成ファイル、またはいくつかのデータストアに属しています。 –

+0

ええ、私は理解しています、ここにそのことを示すためです。 – Costa

答えて

0
map = { 
    (1..5) => { 
    (100..200) => :foo, 
    (201..300) => :bar 
    }, 
    (6..10) => { 
    (100..200) => :baz, 
    (201..300) => :boo 
    } 
} 
map.find{|k,_| k === 3}.last.find{|k,_| k === 250}.last 
# => :bar 

しかし: 完全なコードはここにあります。

関連する問題