summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/zipf/SparseVector.rb8
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/zipf/SparseVector.rb b/lib/zipf/SparseVector.rb
index 976ecaf..456aeb2 100644
--- a/lib/zipf/SparseVector.rb
+++ b/lib/zipf/SparseVector.rb
@@ -7,6 +7,10 @@ class SparseVector < Hash
self.default = 0
if arg.is_a? Array
from_a arg
+ elsif arg.is_a? Hash
+ from_h arg
+ elsif arg.is_a? String
+ from_s arg
end
end
@@ -212,7 +216,9 @@ class SparseVector < Hash
end
def unit
- return SparseVector.new(self).unit!
+ v = SparseVector.new(self)
+ v.unit!
+ return v
end
end