#!/usr/bin/env ruby require 'bloom-filter' require 'optimist' STDIN.set_encoding 'utf-8' STDOUT.set_encoding 'utf-8' conf = Optimist::options do opt :size, "number of entries in the filter", :type => :int, :required => true opt :error_rate, "error rate", :type => :float, :default => 0.01 end f = BloomFilter.new conf[:size], conf[:error_rate] while line = STDIN.gets src, tgt = splitpipe(line)[0..1] src.strip! tgt.strip! f.insert(src+" ||| "+tgt) end f.dump('pt.bloom') f.close