"in" everywhere

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Thu Oct 7 08:37:19 PDT 2010


On 10/7/10 9:59 CDT, Daniel Gibson wrote:
> Andrei Alexandrescu schrieb:
>> On 10/7/10 6:54 CDT, atommixz wrote:
>>> It would be nice if it were possible to use the "in" expression wherever
>>> possible. Now it is only implemented for associative. arrays. (Weird).
>>> Examples of how this could be used:
>>> - Find string in string
>>> - Search for a character in a string
>>> - Search for an item in the array, array of characters, array of
>>> strings,
>>> tuples, enum, structure
>>> - what else?
>>>
>>> In Python done something like this.
>>>
>>> Here it would be useful to me
>>> http://code.google.com/p/atommixz/source/browse/analyze-x86/analyze-x86.py
>>>
>>> http://code.google.com/p/atommixz/source/browse/analyze-x86/analyzex86.d
>>
>> I'm a bit leary of adopting this feature (it has been discussed). To
>> me "in" implies a fast operation and substring searching isn't quite it.
>>
>> One thing that could be done is to allow "in" with literal arrays to
>> their right:
>>
>> if (x in ["abcde", "asd"]) { ... }
>>
>> The size of the operand is constant, known, and visible.
>>
>>
>> Andrei
>
> That feels inconsistent.. to be able to use it with "literal arrays to
> their right" (and what about fixed size arrays?) but not with actual
> arrays and dynamic arrays seems weird.

It's not. It's all about constant size in the size of the input vs. 
arbitrary size. Makes perfect sense to me.

Andrei


More information about the Digitalmars-d mailing list