Support of algebraic operations on sets
bert at freudenbergs.de
Fri Jun 15 15:50:43 UTC 2007
On Jun 15, 2007, at 17:41 , sig wrote:
> On 15/06/07, Klaus D. Witzel <klaus.witzel at cobss.com> wrote:
>> On Fri, 15 Jun 2007 15:50:54 +0200, Bert Freudenberg wrote:
>> > On Jun 15, 2007, at 14:45 , sig wrote:
>> >> actually i missing these operations for dictionaries.
>> >> in current implementation if you diff/union on two dictionaries,
>> >> you'll find out that associations play role as set elements,
>> not keys.
>> >> for dictionaries 'a difference: b' i get not exactly what i would
>> >> expect.
>> > Dictionaries are like other collections - a collection of
>> > (the values). The keys are only interesting for accessing - like
>> > on Arrays. #do: operates on the values. So does #select:, and
>> > #difference:. You wouldn't expect #difference: on an Array to
>> work on
>> > its indices, would you?
>> Good argument. And if some solves that by (aDict keys op: bDict
>> keys) and
>> aDict's values are completely different from bDict values, no
>> cDict can
>> hold the "correct" values unless cDict is empty under all
>> circumstances ;-)
> In my work i must maintain same number of keys in one dictionary as in
> other, while their values are totally different. So, when first
> dictionary changed somehow, then later i need to sync keys with second
> one, but not values, because they constructed by other means. And
> thats where set operations on keys only is useful.
Well then operate on the keys.
- Bert -
More information about the Squeak-dev