Sha256: 3d82fbde098e89d98a8965f55046d4cc2a1461e5173cc32f14b583eaa05ca53f
Contents?: true
Size: 534 Bytes
Versions: 7
Compression:
Stored size: 534 Bytes
Contents
Wukong.processor(:accumulator) do attr_accessor :count, :current def reset!() @current = nil ; @count = 0 ; end def report_then_reset!(&blk) yield [current, count].join("\t") unless current.nil? reset! end def accumulate(word, seen) @current = word if @current.nil? @count += seen end def process(pair, &blk) word, seen = pair.split("\t") report_then_reset!(&blk) unless word == current accumulate(word, seen.to_i) end def finalize(&blk) report_then_reset!(&blk) end end
Version data entries
7 entries across 7 versions & 2 rubygems