2014-05-30 2 views
1

Я изо всех сил с чем-то я работаю над:Как добавить запятую в массив, созданный пользователем?

puts "What are your test scores?" 
test_scores = gets.chomp.to_a 

В основном я хочу, чтобы получить результаты тестов пользователя, сложите их вместе и разделить на количество баллов, которые они дают. Я знаю, что могу использовать length, чтобы увидеть количество тестов в массиве и inject(:+), чтобы добавить числа в массив, но что, если пользователь не использует запятую для разделения оценок?

test_scores = [90 87 07] 

Я не могу использовать inject без запятых на месте, так как я бы добавить запятые между номерами, если пользователь не делает? И как я могу продолжать добавлять запятые, если пользователь уже имеет их на месте?

+0

Было бы очень полезно, если вы могли бы дать нам примеры всех видов ввода ваша программа будет принимать, и как программа должна интерпретировать Это. Ваше описание несколько неоднозначно. –

ответ

2

Как насчет этого?

puts "What are your test scores?" 
test_scores = gets.scan(/\d+/).map(&:to_i) 
puts test_scores.inject(:+)/test_scores.size 

Теперь я бегу код: -

[email protected]:~/Ruby> ruby -v test.rb 
ruby 2.0.0p451 (2014-02-24 revision 45167) [i686-linux] 
What are your test scores? 
12 33 12 
19 
[email protected]:~/Ruby> ruby -v test.rb 
ruby 2.0.0p451 (2014-02-24 revision 45167) [i686-linux] 
What are your test scores? 
12,34 66 
37 
[email protected]:~/Ruby> 
+0

спасибо, что вы пригвоздили его – nmares12

+0

@ nmares12 Я могу это сделать, поскольку вы прилагаете усилия, чтобы сделать свой вопрос очень понятным для нас о вашей боли и потребностях. –

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