CSc 404 Assignment 3
That's Not Nice
Modify Ruby's built-in array class to contain method mean which returns
the mean (sum divided by count). If the array is empty, it
should return nil. If the array contains data
for which the needed computations are not allowed, your method would be
expected to crash. The numeric result should be floating point, even if the
members are integers.
Place your code a file with an .rb extension so it can be
brought in with load.
[bennet@m-mcc-csc-01456 ruby]$ irb
irb(main):001:0> load "mean.rb"
=> true
irb(main):002:0> [4,9,12].mean
=> 8.333333333333334
irb(main):003:0> [3.4,11.2,18.4,2].mean
=> 8.75
irb(main):004:0> [15].mean
=> 15.0
irb(main):005:0> [].mean
=> nil
irb(main):006:0> ["fred","barney","sally"].mean
NoMethodError: undefined method `/' for "fredbarneysally":String
from /home/bennet/courses/cs404/asst/ruby/mean.rb:4:in `mean'
from (irb):6
from /usr/bin/irb:12:in `<main>'
To do this, reopen the Array class and add the the method.
Your method body can use all the existing methods of the array class.
To call a method on yourself, use the object name self, which is
similar to the this in Java and C++.
For instance, you can subscript yourself with self[i].
Create a loop to add up all of your contents and return the result.
Submission
When your function works, is nicely formatted and documents,
submit it using
this
form.