我似乎无法找到一行代码才能做到这一点。我有一个哈希,我希望能够挑选出至少6个字符长的所有密钥。
答案 0 :(得分:5)
试试这个
your_hash.keys.select { |k| k.length >= 6 }
答案 1 :(得分:1)
如你所愿“价值长度”
{a: 'carl', b: 'steve'}.map {|k, v| v.size }
# => [4, 5]
# select sizes values directly within the hash enumeration
{a: 'carl', b: 'steve'}.values.map {|v| v.size }
# => [4, 5]
# convert hash to array of values and then select the sizes values
{a: 'carl', b: 'steve'}.values.select {|v| v.size > 4 }
# => ["steve"]
# convert hash to array of values and then select values that has a condition
如果您想要关于“懒惰”枚举http://www.eq8.eu/blogs/28-ruby-enumerable-enumerator-lazy-and-domain-specific-collection-objects
的更多高级主题