가능한 중복 :
How to sum array members in Ruby?현명한 방법으로 어레이를 추가하는 방법은 무엇입니까?
내가하고 싶은 그런 다음이 배열
@test = [1, 2, 3, 4]
가 있다고 가정하자 :
@test[0] + @test[1] + @test[2] + @test[3]
더 똑똑하고 빠른 방법이 없습니까?
가능한 중복 :
How to sum array members in Ruby?현명한 방법으로 어레이를 추가하는 방법은 무엇입니까?
내가하고 싶은 그런 다음이 배열
@test = [1, 2, 3, 4]
가 있다고 가정하자 :
@test[0] + @test[1] + @test[2] + @test[3]
더 똑똑하고 빠른 방법이 없습니까?
이 작업을 수행 할 수 있습니다 이것
@test.inject(:+)
접기에는 초기 값으로 ID가 필요합니다.'@ test.inject (0, : +)' – tokland
루비가 아닌 경우 초기 값을 제공하지 않으면 콜렉션의 첫 번째 값을 초기 값으로 사용합니다. http : //ruby-doc.org/core-1.9.3/Enumerable.html –
@tokland : "메모의 초기 값을 명시 적으로 지정하지 않으면 메모의 초기 값으로 collection의 첫 번째 요소를 사용합니다 . " ([docs] (http://ruby-doc.org/core-1.9.3/Enumerable.html#method-i-inject) – steenslag
sum = 0
@test.each { |el| sum+=el }
괜찮아 그 많은 (명령형) 언어가 있지만 루비에서는 (기능상)'Enumerable # inject'가 관용적 인 해결책입니다. – tokland
봐 : http://stackoverflow.com/questions/1538789/how-to-sum-array-members-in-ruby –