ruby - 数组中奇数的总和

标签 ruby

我正在尝试获取数组中奇数的总和。我正在尝试编写一个方法 odd_sums 接受一个数字数组,并返回其中的奇数之和。

odd_sum([5,4,6,13,1]) # => 19
odd_sum([10,2,11,3]) # => 14
odd_sum([8,18]) # => 0 

我得到了数组中的奇数:

def odd_sum(a.)
  new_arr = []
  i = 0
  while i < a.length
    if a.[i] % 2!=0
      new_arr << a.[i]
    end
    i += 1
  end
  return new_arr
end

但是我无法得到奇数的总和。请帮助我。

最佳答案

我建议:

a = [5, 4, 6, 13, 1]

a.select(&:odd?).sum
#=> 19

关于ruby - 数组中奇数的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55200287/

相关文章:

ruby - 防止 Rake 的 sh 命令回显命令

ruby-on-rails - Rails 3. 使用 Formtastic 有条件地显示字段

sql - 非常大的 IN (ids) 语句的性能问题

ruby - bundler 能告诉我 Gemfile 中的哪些 gems 有更新的版本吗(例如 bundle update 的试运行)

ruby-on-rails - 路由不起作用,出现路由错误

ruby-on-rails - 如何创建这条路线?

ruby 正则表达式 : Matching if substring doesn't exist

ruby-on-rails - 从 Ruby on Rails 调用 Gephi

由于 SSL 错误,RubyGems 在 Windows 7 上根本无法运行

ruby - Devise & CanCan——CanCan 2.0 API 的问题