Loading collection data...
Collections are a way for you to organize kata so that you can create your own training routines. Every collection you create is public and automatically sharable with other warriors. After you have added a few kata to a collection you and others can train on the kata contained within the collection.
Get started now by creating a new collection.
Yeah, @muyifeng1988. This solution have a lot of bugs :)
This is correct the above solution would fail with an empty array. Although I think returning
nil
on an empty array instead of NaN is satisfactory.I think sum and average can be better, (BTW, other methods are excellent!)
def sum
reduce(0, :+)
end
def average
empty? ? NaN : sum / size # As description says average() on an empty array must return NaN
end
This solution is not good enough. If there is an empty array, sum method will return nil, i think it's better to return 0. Also average method will lead to error if size is 0.
[].reduce(:+) => nil
0 / 0 => error