【发布时间】:2016-01-31 15:46:05
【问题描述】:
我正在尝试创建这个巨大的哈希,其中有很多键但只有几个值。
到目前为止,我都是这样......
du_factor = {
"A" => 1,
"B" => 1,
"C" => 1,
"D" => 2,
"E" => 2,
"F" => 2,
...等等,等等,等等,持续不断的,比你想知道的还要长。在不完全翻转其结构的情况下创建此哈希的更短、更优雅的方法是什么?
编辑:嘿,我意识到有一种比给出的答案更简单、更优雅的方法。只需声明一个空的哈希,然后用你想要的键声明一些数组,然后使用 for 语句将它们插入到数组中,如下所示:
du1 = ["A", "B", "C"]
du2 = ["D", "E", "F"]
dufactor = {}
for i in du1
dufactor[i] = 1
end
for i in du740
dufactor[i] = 2
end
...但是没有人提出这样的建议,让我这个极端的 Ruby n00b 认为我不应该这样做一定是有原因的。性能问题?
【问题讨论】:
-
key => value关系背后有逻辑吗? -
哈希是加快查找速度的好方法,但并非适用于所有问题,因此 +1 表示认识到这不会走得更远。对于这个问题,Code Review 可能是更好的选择。
-
没有关系。事实上,它实际上并不是“A”、“B”、“C”等,而是“R6”、“R6A”等——本质上是随机的。