简单数组整数和?

时间:2014-04-23 17:16:58

标签: ruby

我有这个数组:

array = ["1", "Hel", "6", "3", "lo" ]

我只想输出整数之和,即10.我该怎么做?

3 个答案:

答案 0 :(得分:6)

只是这样做:

array.inject(0) { |sum,n| sum + n.to_i } # => 10

#to_i会将所有非整数字符串转换为0。但是没有问题,因为所有求和都不会受到影响。

答案 1 :(得分:5)

String#to_i会在您的示例中返回0,因此我们可以使用它来映射所有数组元素。

array.map(&:to_i).reduce(0, :+)

答案 2 :(得分:0)

由于Ruby 2.4数组具有Enumerable#sum方法。

array.sum(&:to_i)