我想在条件满足时将哈希键值提取到数组。例如,散列h I类要提取其中的值是“真”的按键:红宝石哈希键阵列条件的散列值
h = { :a => true, :b => false, :c =>true }
我想出这个:
h.map {|k,v| k if v==true} - [nil]
任何的替代品?
我想在条件满足时将哈希键值提取到数组。例如,散列h I类要提取其中的值是“真”的按键:红宝石哈希键阵列条件的散列值
h = { :a => true, :b => false, :c =>true }
我想出这个:
h.map {|k,v| k if v==true} - [nil]
任何的替代品?
你也可以做
s = {}
h.each do |k,v|
s[k] = v if v==true
end
地图和选择的方法是别名,所以你可以使用其中之一。 – sbagdat
@sbagdat,准确地说,'map'和*'collect' *是别名,而不是'select'。 ['select'](http://apidock.com/ruby/Hash/select)做不同的工作,在Hash的情况下返回不同的类型:它返回Hash,而map/collect返回Array。 – NIA
对不起,我的错误。 – sbagdat