我是新來的Ruby和廚師,並正嘗試寫一個重新裝載與ACL根文件系統啓用了一本食譜。 Ohai正在使用所有已安裝的文件系統填充node['filesystem']
。我如何能特別找到node['filesystem']
下的所有物品node['filesystem'][:item]['mount'] == '/'
?哈希散列:返回哈希與特定的子項
0
A
回答
1
您可以使用Hash#select
方法:
filtered_nodes = node['filesystem'].select do |key, value|
key == :item && value['mount'] == '/'
end
+0
當node ['filesystem'] [:item] ['mount']'是一個單獨的散列元素時,'select'循環沒有什麼意義。 – Borodin
0
root_filesystems = node['filesystem'].select do |k, v|
node['filesystem'][k]['mount'] == '/'
end
0
更新我剛剛意識到我想你想要的。 :item
不是散列鍵,而是您想要枚舉的鍵的佔位符。
這會爲你做
selection = node['filesystem'].keys.find_all do |item|
node['filesystem'][item]['mount'] == '/'
end
你的問題還不清楚,但我認爲node
可能是文件系統的哈希值。
這將選擇具有等於/
的元素[:item] ['mount']的所有密鑰node
。
selection = node.keys.find_all do |key|
val = node[key]
val.key? :item and val[:item]['mount'] == '/'
end
相關問題
- 1. 哈希散列與陣內哈希
- 2. 哈希散列
- 3. 寫散列哈希
- 4. 散列哈希perl
- 5. 返回哈希
- 6. 陣列哈希散列
- 7. 哈希表vs哈希列表與哈希樹?
- 8. Ruby - 從哈希中返回特定值
- 9. 在javascript中列表的散列哈希哈希
- 10. 構建散列哈希
- 11. 製作md5散列哈希
- 12. 排序散列哈希
- 13. 哈希與數組值的散列
- 14. 訪問perl中散列哈希散列的特定鍵?
- 15. 遍歷和更新散列哈希的哈希
- 16. 如何遍歷包含哈希數組的哈希散列?
- 17. 如何從Perl中的哈希數組創建哈希散列?
- 18. Perl哈希哈希
- 19. 檢查哈希集包含與特定的散列值
- 20. JavaScript MD5哈希與Java Applet MD5散列?
- 21. Adressing哈希散列與數組
- 22. 如何共享哈希散列在多線程的perl分享哈希散列
- 23. 返回的哈希值
- 24. 如何從散列哈希中獲得哈希切片?
- 25. 在Ruby中訪問哈希散列哈希
- 26. 將散列數組傳遞給哈希哈希值
- 27. 哈希表散列避免負面哈希碼
- 28. 指定一個哈希散列
- 29. 多個子哈希出一個哈希
- 30. 爲什麼字符串與它的散列哈希,因爲鹽返回散列?
'節點[「文件系統」] [:項目] [「安裝」]'是單個散列元素,它或者是或不是一個斜線。你在尋找'[:item] ['mount']'是'/'的所有文件系統嗎? – Borodin