2010-10-07 65 views

回答

3

你可以這樣做:

a.select{|v| v == 1}.size 

這只是一個解決方案

+0

非常感謝...... – nirmal 2010-10-07 12:54:47

+0

完美地工作:D – 2013-06-18 07:06:44

1

有人可能會拿出一個更專業的解決方案,但我也只是降低它

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"} 

(注意,自來水是紅寶石1.9,並且在的ActiveSupport的反向移植)的那

輸出將

1發現1次
3發現2次

0

一個= [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 |

?>把i.to_s + '已經出現' + a.count(ⅰ).to_s + '倍'

1已出現2次

2已出現3次

3已經出現2次

4已經出現2次

5已經出現1次

=> [1,2,3,4,5]

相關問題