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