summaryrefslogtreecommitdiff
path: root/lib/overwrite.rb
diff options
context:
space:
mode:
authorAndreas Maunz <andreas@maunz.de>2012-09-13 15:16:38 +0200
committerAndreas Maunz <andreas@maunz.de>2012-09-13 15:16:38 +0200
commitb4ba72cd339f4067ab411dbd51beabf22a2e23e2 (patch)
tree56dffd4402a26ff67f67f5e5152fd7b780f131e6 /lib/overwrite.rb
parent67fc8c7235bdfdb3dac7adf31141601ec540f97c (diff)
Array overwrite methods
Diffstat (limited to 'lib/overwrite.rb')
-rw-r--r--lib/overwrite.rb27
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
+