2012-01-15 4 views

답변

4

이 작업을 수행 할 수 있습니다 이것

@test.inject(:+) 
+0

접기에는 초기 값으로 ID가 필요합니다.'@ test.inject (0, : +)' – tokland

+1

루비가 아닌 경우 초기 값을 제공하지 않으면 콜렉션의 첫 번째 값을 초기 값으로 사용합니다. http : //ruby-doc.org/core-1.9.3/Enumerable.html –

+0

@tokland : "메모의 초기 값을 명시 적으로 지정하지 않으면 메모의 초기 값으로 collection의 첫 번째 요소를 사용합니다 . " ([docs] (http://ruby-doc.org/core-1.9.3/Enumerable.html#method-i-inject) – steenslag

0
sum = 0 
@test.each { |el| sum+=el } 
+0

괜찮아 그 많은 (명령형) 언어가 있지만 루비에서는 (기능상)'Enumerable # inject'가 관용적 인 해결책입니다. – tokland

관련 문제