Hi,

In message "[ruby-talk:6763] Re: Array Intersect (&) question"
    on 00/12/03, peter.wood / worldonline.dk <peter.wood / worldonline.dk> writes:

|I agree with Ross.  Presumably, if you are intersecting "pseudo-sets"
|with duplicates, you WANT the duplicates.  Ruby should not second
|guess you.  If you don't want the duplicates, you can easily remove
|them, but its trickier to go the other way.

Hmm, interesting.

|(How do other languages do it? Common Lisp preserves the duplicates,
|in the way Ross wants:
|
|(intersection '(1 1 y) '(1 y 1 z)) 
|=> (1 1 y))

I feel neither

>(intersection '(1 1 2) '(1 2 2))
(2 1 1)

nor

>(intersection '(1 1 2) '(1 2 2))
(2 2 1)

is natural intersection.  Both make me suspect easy implementation.
Probably proper intersection is '(1 2) for this case.

							matz.