March 14, 2014
9:19 p.m.
something like that diffs: aCollection "Answer the set theoretic differences of two collections. The first element of the result is the difference from the perspective of the receiver and the second element the difference from the perspective of the argument." "#(a b c d e f) diffs: #(a b z k) #(#a #b #c #d #e #f) { #(#f #d #e #c) . #(#k #z)} " "{ self difference: aCollection . aCollection difference: self }" | receiver another | receiver := self asSet. another := aCollection asSet. self do: [ :each | (another includes: each) ifTrue: [ receiver remove: each. another remove: each ]]. ^ { receiver asArray . another asArray}