方法的Ruby重构

标签 ruby refactoring enumerable

很想将其重构为一行:

def sum_something
  sum = 0
  self.each { |a| sum += a }
  return sum
end

必须有一种方法可以在 block 中定义“sum”,我可以删除“return”。

最佳答案

def sum_something
  inject(0, :+)
end

关于方法的Ruby重构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8373584/

相关文章:

ruby 注册表检查

ruby-on-rails - 如何修复 rails 中的 "Function not implemented - Failed to initialize inotify (Errno::ENOSYS)"

unit-testing - 如何在单元测试中使用 mockist 方法避免误报?

ruby - 产量这个词的含义

ruby - `map` 是否使用 `each`?

ruby - 将数组转换为哈希,同时删除重复键和添加值

javascript - 在 rails create controller 中渲染 new.js.erb (Rails 6)

ruby-on-rails - OAuth 与用于导入联系人的可移植联系人

php - Zend框架模块库

php - 将设计模式应用于特定行为