%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
如果不想多次随机并检测是否已经存在, 那可以先生成你要的范围, 然后用sample
当然这么做并不适用于范围超级大的时候
range = (1..1000).to_ap range.sample(5)
以上可以取得5个不重复的1-1000内的数字