diff options
-rw-r--r-- | lib/zipf/SparseVector.rb | 23 | ||||
-rw-r--r-- | zipf.gemspec | 4 |
2 files changed, 25 insertions, 2 deletions
diff --git a/lib/zipf/SparseVector.rb b/lib/zipf/SparseVector.rb index 3096412..33bb396 100644 --- a/lib/zipf/SparseVector.rb +++ b/lib/zipf/SparseVector.rb @@ -1,3 +1,6 @@ +require 'json' + + class SparseVector < Hash def initialize arg=nil @@ -18,6 +21,12 @@ class SparseVector < Hash return v end + def to_h + h = {} + self.each_pair { |k,v| h[k] = v } + return h + end + def from_h h h.each_pair { |k,v| self[k] = v } end @@ -53,6 +62,20 @@ class SparseVector < Hash } end + def to_json + JSON.dump self.to_h + end + + def from_json s + from_h JSON.load(s) + end + + def self.from_json s + v = SparseVector.new + v.from_json s + return v + end + def self.from_kv s v = SparseVector.new v.from_kv s diff --git a/zipf.gemspec b/zipf.gemspec index 4853b2f..5e6fcd1 100644 --- a/zipf.gemspec +++ b/zipf.gemspec @@ -1,7 +1,7 @@ Gem::Specification.new do |s| s.name = 'zipf' - s.version = '1.0' - s.date = '2014-06-16' + s.version = '1.0.2' + s.date = '2014-06-17' s.summary = 'zipf' s.description = 'NLP related tools and classes' s.authors = ['Patrick Simianer'] |