comment pouvons-nous compter les valeurs idential sur la valeur après la concaténation pour tableautableau RoR -count éléments identiques sur-valeur, y compris
tels que
a=[]
a<<1 count of 1 is 1
a<<1 count of 1 is 2
grâce
comment pouvons-nous compter les valeurs idential sur la valeur après la concaténation pour tableautableau RoR -count éléments identiques sur-valeur, y compris
tels que
a=[]
a<<1 count of 1 is 1
a<<1 count of 1 is 2
grâce
Vous pourriez faire:
a.select{|v| v == 1}.size
C'est seulement une solution
Quelqu'un viendra probablement avec une solution plus spécialisée, mais je voudrais juste le réduire
counts = [1,3,3].reduce({}) do |acc,n|
acc.tap do |a|
a[n] ||= 0
a[n] += 1
end
end
counts.each {|k,v| puts "#{k} was found #{v} times"}
(notez que robinet est ruby 1.9, et est backported dans activesupport)
sortie de ce sera
1 a été trouvée 1 fois
3 a été trouvée 2 fois
a = [1,2,3,4,5,1,2,2,3,4]
=> [1, 2, 3, 4, 5, 1 , 2, 2, 3, 4]
a.uniq.each do | i |
?> Met i.to_s + 'est apparu' + a.count (i) .to_s + '' fois
fin
1 est apparu 2 fois
2 est apparu 3 fois
3 est apparu 2 fois
4 est apparu 2 fois
5 est apparu 1 fois
=> [1, 2, 3, 4, 5]
merci beaucoup .... – nirmal
fonctionnent parfaitement: D –