@count = 0 @app.builds.each{|build| @count = @count + build.count }
ruby 有很多语法糖,但大多数新手都是从写 Rails 一边写 ruby,希望可以大家可以多分享点
@count += build.count
这是第一级,进一步简化/优化,楼下接上~
inject
可以了 别人能理解是最好的标准
http://ruby-doc.org/core-2.0.0/Enumerable.html#method-i-inject
@count = @app.builds.inject(0) do |sum, build| sum += build.count end
@app.builds.map(&:count).inject(:+)
大概这个意思,没验证。
sum(@app.builds)
楼主的意思是 @app.builds.map(&:count).sum ? sum 是 AS 包里的 不是原生方法
@app.builds.map(&:count).sum
我就喜欢这样的帖子。哈哈
#8 楼 @zj0713001 6 楼得写法很不错,我采用了
#10 楼 @sanivbyfish 嗯 sum 只是个简化和可读性高而已~ 操作都是一样的~