diff options
author | Andreas Maunz <andreas@maunz.de> | 2012-09-13 15:16:38 +0200 |
---|---|---|
committer | Andreas Maunz <andreas@maunz.de> | 2012-09-13 15:16:38 +0200 |
commit | b4ba72cd339f4067ab411dbd51beabf22a2e23e2 (patch) | |
tree | 56dffd4402a26ff67f67f5e5152fd7b780f131e6 /lib/overwrite.rb | |
parent | 67fc8c7235bdfdb3dac7adf31141601ec540f97c (diff) |
Array overwrite methods
Diffstat (limited to 'lib/overwrite.rb')
-rw-r--r-- | lib/overwrite.rb | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/lib/overwrite.rb b/lib/overwrite.rb index 785fbcd..574d922 100644 --- a/lib/overwrite.rb +++ b/lib/overwrite.rb @@ -93,3 +93,30 @@ module Kernel end end + + +class Array + + # Sum of an array for Arrays + # @param [Array] Array of arrays + # @return [Integer] Sum of size of array elements + def sum_size + self.inject(0) { |s,a| + if a.respond_to?('size') + s+=a.size + else + internal_server_error "No size available: #{a.inspect}" + end + } + end + + # For symbolic features + # @param [Array] Array to test. + # @return [Boolean] Whether the array has just one unique value. + def zero_variance? + return self.uniq.size == 1 + end + + +end + |