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'會做得很好 –