if(;){} opinion

Georg Wrede georg.wrede at nospam.org
Tue Feb 28 08:37:10 PST 2006


Walter Bright wrote:
> "Georg Wrede" <georg at nospam.org> wrote in message 
> news:4401ECE3.4030207 at nospam.org...
> 
>>Now consider:
>>
>>        if (Regexp m = std.regexp.search("abcdef", "b(c)d"))
>>        {
>>            writefln("[%s]", m.pre);      // prints [a]
>>            writefln("[%s]", m.post);     // prints [ef]
>>            writefln("[%s]", m.match(0)); // prints [bcd]
>>            writefln("[%s]", m.match(1)); // prints [c]
>>            writefln("[%s]", m.match(2)); // prints []
>>        }
>>
>> Flaunting this around (to both the original programmers, and also
>> to virgin victims), gave the same, _immediate_ comment from
>> everybody: "Ah, that's neat!"
> 
> The idea behind m; was to be like foreach. What do the "victims" <g>
> think of:
> 
> if (auto m = std.regexp.search("abcdef", "b(c)d"))

Another round, and everyone had no problem immediately understanding the 
code. And the word "auto" was universally assumed as in "autotype".

Found one "still virgin" non-D programmer, and even he immediately 
assumed the correct functionality, and took for granted that "auto" 
meant that the compiler figures out the actual type.



More information about the Digitalmars-d mailing list