我正在努力解决我正在做的事情:
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
现在我正在运行代码: -
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>