我有代码 -
<div id="wrap">
<div class="card" id="card1">black</div>
<div class="card" id="card2">pink</div>
<div class="card" id="card3">orange</div>
</div>
我通过命令行给出一个像mxv这样的字符串,并将其转换为数组,并将其作为MXV输入&#39;。 现在我想迭代Hash,这样我就可以获得相应的值了#39;我在数组中作为String的键。 例如,对于MXV,我需要值= [1000,10,5]。
我该怎么做?
答案 0 :(得分:2)
a
或
arr = []
"MXV".each_char do |i|
arr << hash[i.capitalize]
end
arr = [1000, 10, 5]
如果您输入的字符在哈希键中不存在
例如:
"MXV".each_char.map { |i| hash[i.capitalize] }
它会输出:
"MXVabc".each_char.map { |i| hash[i.capitalize] }
您只需使用=> [1000, 10, 5, nil, nil, 100]
方法。
compact
答案 1 :(得分:0)
我做了一些研究,并在堆栈上提到了这篇文章 - Ruby - getting value of hash
并解决了我的问题 -
input.each do |i|
value = hash[i.to_sym]
puts value
end
感谢任何花时间仔细研究这个问题的人。