0
#创建空数组(数组1)红宝石输入数组,没有重复输出数组
array1 = []
i = 0
#从用户采取10个号码,并将它们存储在数组中
while array1.size < 10
print "Enter a number: "
array[i] = gets.chomp.to_i
i += 1
end
#推只有独特的元素成阵列(阵列2)
k = 0
j = 0
array2 = []
while k < array1.size
if array1[k] != array1[j]
if array2.include? (array1[k])
puts "Element already exists"
else
array2.push(array1[k])
end
j += 1
end
k += 1
end
puts array2
它只适用于某些情况,但在任何时候,fi第一个唯一的元素由于某种原因未被添加到新数组中,我应该从1开始j或k,而不是0?
我知道,我可以使用.uniq并打开阵列分为一组,然后返回到一个数组,或者只是交叉阵列&,但我想让它没有红宝石“捷径”,有什么建议?
@AndreyDeineko该死的,我只是编辑了,因为我知道的老总会说这样的事情,yoiu很快 –
顺便说一句,阵列#uniq的返回数组,不是一套。 所以'array2 = array1.uniq'会做得很好 –