2016-04-08 3 views
-1

Я пытаюсь взять данные от пользователя в массиве. И хочу удалить повторяющиеся элементы, но результат странный. Мне не нужно использовать uniq или любой другой метод ruby. мой код
Не удаляет повторяющиеся элементы из массива

digits = [] 
digits = gets.chomp.to_i 

k= digits & digits 

puts k 


input - 1 2 3 4 1 2 3 <br> 
Required output- 1 2 3 4<br> 
Getting output 1 
+0

Пожалуйста, пост результат и любые ошибки, которые вы получаете. –

+1

Каков ожидаемый ввод и вывод? – spickermann

+0

okay Я отправляю вход и желаемый результат –

ответ

2

gets.chomp возвращает строку "1 2 3 4 1 2 3"

Тогда вы звоните to_i на этой строке:

"1 2 3 4 1 2 3".to_i => 1 

последовательно 1 & 1 => 1

Вы должны сделать это:

digits = gets.chomp.split(' ').map(&:to_i) 

k = digits & digits 

puts k 
+0

спасибо, что он так работал –

+0

@CarySwoveland Я согласен с вами, однако он сказал, что не хочет использовать 'uniq' –

+0

@CarySwoveland Можете ли вы пояснить, как« цифры и цифры »могут содержать дубликаты? Пересечение удаляет дубликаты. –

Смежные вопросы