Yup, you need sum to be defined. Use inject to do just that


On Thu, Nov 20, 2014 at 9:31 AM, Jeremy Axelrod <axelrod.jeremy / gmail.com>
wrote:

> The 'sum' variable needs to be initialized or else it takes the value of
> nil. So in the line 'sum += n', sum is nil. You can solve this by setting
> sum = 0 at the beginning of the method.
>
> On Wed, Nov 19, 2014 at 11:22 PM, Roelof Wobben <r.wobben / home.nl> wrote:
>
>>  Hello,
>>
>> I have a method that takes a unlimited number of integers and adds them
>> all together .
>>
>> So I did this :
>>
>> def sum (*numbers)
>>    numbers.each do |n|
>>       sum += n if n.is_a? Integer
>>    end
>> end
>>
>> but when I run it I see this error message :
>>
>> `block in sum': undefined method `+' for nil:NilClass (NoMethodError)
>> 	from `each'
>> 	from  `sum'
>> 	from  `
>>
>> '
>> why do I get a nilClass there. As far as I know this is a normal way to
>> add things up.
>>
>> Roelof
>>
>>
>>
>


-- 
-- 
*Augusts Bautra*


*Creative MobileKronvalda bulvaris 10, Riga**office: 00371 67227747*
*mobile: 00371 29957771*
*www.creo.mobi <http://www.creo.mobi/>*