Concise way of reducing a Ruby array to the count of unique values? -


इस सवाल का पहले से ही एक उत्तर है: < / P>

  • 9 जवाब

मेरे पास एक रूबी सरणी है

  जानवरों =% w (कुत्ते बिल्ली पक्षी बिल्ली कुत्ते पक्षी पक्षी बिल्ली)  

मुझे प्रत्येक अद्वितीय आइटम की गिनती की आवश्यकता है सरणी में मैं ऐसा कुछ कर सकता हूं:

  कुत्तों = 0 बिल्लियां = 0 पक्षियों = 0 जानवरों। कुछ करो | पशु | कुत्ते + = 1 अगर जानवर == 'कुत्ते' बिल्लियां + = 1 अगर जानवर == 'बिल्ली' पक्षियों = 1 यदि जानवर == 'पक्षी' अंत   

... लेकिन यह दृष्टिकोण बहुत शब्दबोधक है रूबी में इन अद्वितीय गणनाओं की गणना करने का सबसे संक्षिप्त तरीका क्या है?

मुझे लगता है कि आप क्या देख रहे हैं के लिए है:

  जानवर =% w (कुत्ते बिल्ली पक्षी बिल्ली कुत्ता पक्षी पक्षी बिल्ली) कुत्तों = animals.count ('कुत्ते') # = & gt; 2 बिल्लियां = जानवरों। कोट ('बिल्ली') # = & gt; 3 पक्षियों = पशुओं। कोट ('पक्षी') # = & gt; 3  

Comments