Hash
获取由点分隔的所有键(带有嵌套)的列表的便捷方法是什么?
鉴于我有一个哈希:
{ level1: { level21: { level31: 'val1',
level32: 'val2' },
level22: 'val3' }
}
表示哈希中所有关键路径的所需输出(字符串数组):
level1.level21.level31
level1.level21.level32
level1.level22
我目前的解决方案:
class HashKeysDumper
def self.dump(hash)
hash.map do |k, v|
if v.is_a? Hash
keys = dump(v)
keys.map { |k1| [k, k1].join('.') }
else
k.to_s
end
end.flatten
end
end
它也可作为gist(带有规格)。