From 773f13eab521db5dadd993c00dc4c780970d5d2e Mon Sep 17 00:00:00 2001 From: Patrick Simianer
Date: Tue, 17 Jun 2014 15:24:07 +0200 Subject: bump to 1.0.2, to/from_json methods for SparseVector --- lib/zipf/SparseVector.rb | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'lib') 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 -- cgit v1.2.3