有沒有方法可以判斷散列中散列是否是嵌套散列?確定散列是否是紅寶石中的嵌套散列
例如
a = { a: 1, b: 2, c: 2 }
應該返回false
a = { a: {a1: 1, a2: 2}, b: {b1: 1}, c: 2 }
應返回true
有沒有方法可以判斷散列中散列是否是嵌套散列?確定散列是否是紅寶石中的嵌套散列
例如
a = { a: 1, b: 2, c: 2 }
應該返回false
a = { a: {a1: 1, a2: 2}, b: {b1: 1}, c: 2 }
應返回true
a.any? { |_, v| v.is_a?(Hash) }
您可以通過遍歷您的哈希值與Hash#values
方法檢查:
a.values.any? { |v| v.is_a?(Hash) }
應該是不可能的,但這樣做可以很好地使用[Hash#each_value](http://ruby-doc.org/core-1.8.7/Hash.html#method-i-each_value )來避免創建臨時數組。 –
如果'h = {:a => [{:b = 3}]}'? –
嗯這是我沒有考慮過的邊緣情況。對於我的問題,儘管 –