如何使用具有多个键的哈希表

时间:2015-12-16 21:22:56

标签: ruby

考虑创建哈希表:

a_Min   a_Max   b_Min   b_Max   p1   p2    p3     p4      p5       p6
40.000  47.95   -95.0   -74.01  12.8 6.5 177.82 0.9150   68.62    0.9020
42.000  47.95   -68.0   -59.50  11.0 5.8 185.20 0.9377   -11.80   0.9538
44.000  47.95   -74.2   -68.05  12.8 6.5 157.45 0.9194   37.55    0.9297
46.000  66.00   -59.5   -51.00  8.8  3.7 164.96 0.9465   -207.54  1.0342
47.951  66.00   -79.0   -59.55  12.8 6.5 157.45 0.9194   37.55    0.9297
47.951  66.00   -95.0   -79.01  12.8 6.5 177.82 0.9150   68.62    0.9020
...

如果给出任何(a,b),它将属于哈希表(a_Min, a_Max, b_min, b_Max)中的四个边界控制值并返回其相对参数(p1, p2, p3....)

我正在尝试这样的事情:

def functionXXX(a, b)
    threshold = XXX
    for t in threshold do   
       if (t[:a_Min]<=a && a<t[:a_Max] && t[:b_Min]<=b && b<t[:b_Max]) then
          return t
          break
       end
    end
end

这是完成此任务的正确方法吗?

1 个答案:

答案 0 :(得分:0)

这更优雅:

..

注意三个点 - 如果你想包含最后一个数字,你可以使用<,但是你在帖子中使用了{{1}}。

最好先将这些作为范围存储,因此每次调用该函数时都不必重建它们。