假设我有一个像这样的多维数组:
CURRENCIES = [
[ "EUR", "€" ],
[ "USD", "$" ],
[ "GBP", "£" ]
]
Ruby 中通过提供货币代码来检索货币符号的最有效方法是什么?
假设我有一个像这样的多维数组:
CURRENCIES = [
[ "EUR", "€" ],
[ "USD", "$" ],
[ "GBP", "£" ]
]
Ruby 中通过提供货币代码来检索货币符号的最有效方法是什么?
将其转换为哈希:
currencies_hash = Hash[CURRENCIES]
然后得到你需要的东西:
currencies_hash["EUR"] #=>"€"
我不知道它是否最有效(对于内存使用或 CPU 时间或?..)但 Ruby 风格足够优雅 =)
如果您可以将 CURRENCIES 定义为哈希,那么您不需要数组
不确定是否需要以编程方式将这些嵌套数组转换为散列,但如果需要,请按照以下步骤操作。
def hash(a)
h = {}
a.each { |x| h[x[0]] = x[1] }
h
end
CURRENCIES = hash(your_array)