如何将逗号添加到用户输入创建的数组?

时间:2014-05-30 17:58:18

标签: ruby

我正在努力解决我正在做的事情:

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

基本上我想获得用户的测试分数,将它们加在一起并除以它们给出的分数。我知道我可以使用length查看数组中的测试分数和inject(:+)以在数组中添加数字,但是如果用户没有使用逗号分隔数字,该怎么办?成绩?

test_scores = [90 87 07]

我不能使用inject没有逗号,所以如果用户没有逗号,我如何在数字之间添加逗号?然后,如果用户已经使用了逗号,我该怎么做才能添加逗号?

1 个答案:

答案 0 :(得分:2)

这个怎么样?

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

现在我正在运行代码: -

arup@linux-wzza:~/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
arup@linux-wzza:~/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
arup@linux-wzza:~/Ruby>