Heim > Fragen und Antworten > Hauptteil
例如有如下数据:
a,b,c,a,c,d
※数据出现不固定,可能有e,f,g等。
查了ruby文档的array和hash,没想出怎么实现。
巴扎黑2017-04-21 11:19:01
得到不同数据的值:
%w(a b c a c d).uniq
得到各个元素出现的个数:
count_hash = {}
%w(a b c a c d).each do |item|
key = item.to_sym
if count = count_hash[key]
count_hash[key] = count + 1
else
count_hash[key] = 1
end
end
迷茫2017-04-21 11:19:01
str='a,b,c,a,c,d'
counter = Hash.new(0)
str.split(',').each { |val| counter[val]+=1 }
puts counter