diff options
| author | Patrick Simianer <p@simianer.de> | 2014-06-17 15:24:07 +0200 | 
|---|---|---|
| committer | Patrick Simianer <p@simianer.de> | 2014-06-17 15:24:07 +0200 | 
| commit | 773f13eab521db5dadd993c00dc4c780970d5d2e (patch) | |
| tree | f756a83fb37bcc19cf25b06f555b700ce3d3d29e /lib | |
| parent | 96d4323b720b858ba8445ca8332006c374500a70 (diff) | |
bump to 1.0.2, to/from_json methods for SparseVector
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/zipf/SparseVector.rb | 23 | 
1 files changed, 23 insertions, 0 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  | 
