'in' for plain arrays?
spir
denis.spir at gmail.com
Fri Dec 3 08:29:19 PST 2010
On Thu, 02 Dec 2010 08:54:43 -0800
Ali Çehreli <acehreli at yahoo.com> wrote:
> bearophile wrote:
> > Pelle M.:
> >
> >> It doesn't exist for performance reasons, I think.
> >
> > It's not a matter of performance. Walter thinks that "in" on
> > AAs searches on keys. And the "keys" of a dynamic array are its
> > indices. And searching for indices in a dynamic array is not so
> > useful. Therefore no "in" for dynamic/static arrays. I think
> > this line of thought is not practical, and Python gets this
> > better.
>
> I think Walter's is a good point. If 'in' searches among keys for AAs;
> for arrays, it would be implemented trivially as
>
> (index >= 0) && (index < array_length)
That's not the point...
> I think that expression allows for negative index values too. And yes, I
> had to check before posting as I can't be sure about the integer
> promotion rules. :)
>
> If 'in' were to search among the values of arrays, then it wouldn't have
> the same meaning with AAs.
Yes-no. In an ordered set (read: many uses of arrays), elements conceptually are their own keys. We must have a simple way to express membership test -- even if possibly costly for large arrays. Else, we need a builtin Set type to do the job. (I have one prototype in stock, if interesting for Phobos).
Denis
-- -- -- -- -- -- --
vit esse estrany ☣
spir.wikidot.com
More information about the Digitalmars-d-learn
mailing list