2014-10-22 56 views
1

写一个方法来检查一定数量的数组元素是否匹配的一种简单方法是什么?例如找出指定数量的数组元素是否匹配

["dog", "cat", "dog", "dog"].has_matching(3) 
# true 

["dog", "cat", "dog", "cat"].has_matching(3) 
# false 

理想的类的对象进行比较不会有问题。

+2

我不明白你的问题.. – user3437460 2014-10-22 07:40:52

+1

*“的一个例子是,如果这些3字符串匹配“* - 请具体说明。 – Stefan 2014-10-22 07:46:43

+0

Yikes我一定很累... – MicFin 2014-10-22 08:03:36

回答

3

你可以添加一个方法Array

class Array 
    def check_if_minimum_duplicates(min_dup) 
    group_by{|el| el }.any?{|k, v| v.count >= min_dup } 
    end 
end 

,并使用它像这样:

irb(main):006:0> puts ["dog", "cat", "dog", "dog"].check_if_minimum_duplicates(3) 
true 
=> nil 
irb(main):007:0> puts ["dog", "cat", "dog", "cat"].check_if_minimum_duplicates(4) 
false 
=> nil 
+0

感谢您阅读我疲惫的语法! – MicFin 2014-10-22 08:03:52

相关问题