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
>
>
>