从Ruby中的多维数组中检索元素的最有效方法是什么?

时间:2013-09-14 13:48:35

标签: ruby-on-rails ruby arrays

我们假设我有一个像这样的多维数组:

CURRENCIES = [
  [ "EUR", "€" ],
  [ "USD", "$" ],
  [ "GBP", "£" ]
]

Ruby通过提供货币代码检索货币符号的最有效方法是什么?

2 个答案:

答案 0 :(得分:5)

将其转换为哈希:

currencies_hash = Hash[CURRENCIES]

然后得到你需要的东西:

currencies_hash["EUR"] #=>"€"

我不知道它是否最有效(对于内存使用或CPU时间或?..)但Ruby风格足够优雅=)

如果您可以将CURRENCIES定义为哈希,那么您不需要数组

答案 1 :(得分:0)

不确定是否需要以编程方式将这些嵌套数组转换为哈希值,但如果这样做,请按照以下方式进行操作。

def hash(a)
   h = {}
   a.each { |x| h[x[0]] = x[1] }
   h
end

CURRENCIES = hash(your_array)