From b4ba72cd339f4067ab411dbd51beabf22a2e23e2 Mon Sep 17 00:00:00 2001 From: Andreas Maunz Date: Thu, 13 Sep 2012 15:16:38 +0200 Subject: Array overwrite methods --- lib/overwrite.rb | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'lib/overwrite.rb') 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 + -- cgit v1.2.3