2014-10-22 54 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

相關問題