Sha256: c61516de59fe3004fa781207950e412615de32521ed4d361e623c50d1e2f2ce2
Contents?: true
Size: 1.22 KB
Versions: 4
Compression:
Stored size: 1.22 KB
Contents
# encoding: utf-8 module Veritas module Algebra # The difference between relations class Difference < Relation include Relation::Operation::Set # Iterate over each tuple in the set # # @example # difference = Difference.new(left, right) # difference.each { |tuple| ... } # # @yield [tuple] # # @yieldparam [Tuple] tuple # each tuple in the set # # @return [self] # # @api public def each return to_enum unless block_given? right_set = right.to_set left.each { |tuple| yield tuple unless right_set.include?(tuple) } self end module Methods extend Aliasable inheritable_alias(:- => :difference) # Return the difference between relations # # @example # difference = relation.difference(other) # # @param [Relation] other # # @return [Difference] # # @api public def difference(other) Difference.new(self, other) end end # module Methods Relation.class_eval { include Methods } end # class Difference end # module Algebra end # module Veritas
Version data entries
4 entries across 4 versions & 1 rubygems