[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [sc-dev] set theory methods by Fredrik Olofsson
barring any protest I will change these as follows.
Method names match those in Set.
They don't modify the receiver or arguments.
Set is still more efficient for these operations if you have a large
number of items.
sect { | that |
var result;
result = this.species.new;
this.do { | item |
if (that.includes(item)) {
result = result.add(item);
}
};
^result
}
union { | that |
var result;
result = this.copy;
that.do { | item |
if (result.includes(item).not) {
result = result.add(item);
}
};
^result
}
difference { | that |
^this.copy.removeAll(that);
}
symmetricDifference { | that |
var result;
result = this.species.new;
this.do { | item |
if (that.includes(item).not) {
result = result.add(item);
}
};
that.do { | item |
if (this.includes(item).not) {
result = result.add(item);
}
};
^result;
}
isSubsetOf { | that | ^that.includesAll(this) }