[m-users.] lists and sets, unordered or ordered.
Volker Wysk
post at volker-wysk.de
Wed Oct 4 08:04:19 AEDT 2023
Hi
You can get a sorted de-duped list from a set. Why do you need an unsorted
one? If it's efficiency, you need to have it sorted, unless you have only a
few elements.
But be aware that there is the "set" module and five "set_*" modules. The
"set" is using ordered lists. That's inefficient for large sets. Use the
other modules when you have a big set.
Cheers,
Volker
Am Dienstag, dem 03.10.2023 um 21:55 +0100 schrieb Sean Charles
(emacstheviking):
> Indeed. nothing in my drafts folder and I swear it was complete before I hit send... well,
> basically,
> is there a reason you can't get an unsorted de-duped list from a set?
>
> That's all... :D
>
> > On 3 Oct 2023, at 21:53, Volker Wysk <post at volker-wysk.de> wrote:
> >
> > Hi, Sean
> >
> > Your message suddenly stops in the middle of a sentence.
> >
> > Volker
> >
> > Am Dienstag, dem 03.10.2023 um 21:39 +0100 schrieb Sean Charles
> > (emacstheviking):
> > > I've just completed a generic typeclass based collision detection system and learned quite a bit doing it!
> > >
> > > As I was reading the module docs, it seems that there is no 'unordered set without duplicates' unless I missed it, which is entirely reasonable.
> > >
> > > The output from the collision detection is two sets of integers, these are the identifiers of the missiles and the things that were hit at the moment. I now want to take this list and then set the '^hit' flag for every missile in that list, for example, the existing code will then no longer render it and remove it on the next iteration.
> > >
> > > I used sets because they de-dupe as you go, meaning that my checking process is simply iterating two loops, m x n, m missiles and n moving targets, for now it is naive and will probably always be fine given the limited numbers of things on screen at any one time.
> > >
> > > There seems to be no way to get an unordered, deduplicated list from a set, I can use set_unordlist but that leaves duplicates.
> > >
> > >
> > > For now I've decided to use set_unordlist, at the cost of maybe updating the same missile record more than once poost-collision detection, it's not going to kill anything really but mentally, and from a purity point of view it feels 'less optimal' than I wanted. Failing that I might just usr list.member and use lists for everything like I did!
> > >
> > > I just wondered what the reasons were for not having the ability to get an unsorted
> > > _______________________________________________
> > > users mailing list
> > > users at lists.mercurylang.org
> > > https://lists.mercurylang.org/listinfo/users
> >
> > _______________________________________________
> > users mailing list
> > users at lists.mercurylang.org
> > https://lists.mercurylang.org/listinfo/users
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part
URL: <http://lists.mercurylang.org/archives/users/attachments/20231003/366eccf3/attachment.sig>
More information about the users
mailing list