儘管在嵌套哈希上存在很多問題,但我還沒有找到任何解決方案來解決我的問題。Ruby - 迭代嵌套哈希並計數值
我在拉弦和像每個字符匹配的哈希這樣:
numberOfChars = {}
string.each_char do |c|
RULES.each do |key, value|
if c === key
numberOfChars[value] += 1
end
end
end
這工作得很好,並會輸出像「一出現3次」,直到我意識到,我的哈希需要的是嵌套,類似於這樣:
RULES = {
:limb {
:colour {
'a' => 'foo',
'b' => 'bar'
},
'c' => 'baz'
}
}
那麼我會如何去獲得'葉'鍵和它的價值?
當它迭代散列時,它還需要計算每個鍵出現的次數,例如, 'a'出現多於'b'?如果是這樣,添加一個新的散列。但是我很遺憾,在不知道它是如何迭代嵌套哈希的情況下,它在實踐中會如何工作。
在我看來,這只是過分複雜的做法,但如果任何人有任何指針,他們將非常感激!另外,如果它已經不是很痛苦了,我已經是Ruby的新手了,所以我可能會犯一些根本性的錯誤。
您使用的是什麼版本的紅寶石? (ruby -v)Ruby嘗試使用RULES示例時抱怨。 –
請參閱下面的示例。您在RULES設置中缺少評論。 –
@NoahClark我正在使用1.9.2,你說得對,我沒有在這個例子中錯過一個逗號,我已經編輯它來包含它。 – fetimo