string concatenation

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Wed Nov 18 20:35:50 PST 2009


Ellery Newcomer wrote:
> Andrei Alexandrescu wrote:
>> TDPL boasts the code:
>>
>> void main()
>> {
>>   string a = "Hall\u00E5";
>>   wstring b = ", ";
>>   dstring c = "V\u00E4rld";
>>   auto d = b ~ c;           // d has type wstring, same as b
>>   a ~= d ~ '!';             // concatenate string with character
>>   writeln(a);
>> }
>>
>> We are having second thoughts about allowing b ~ c. It may be just a bit
>> too clever. Also, figuring out the result type is not a slam dunk. The
>> pro arguments are that strings are already supported by the compiler in
>> iteration, literals, and concatenation of a char[] with a dchar.
>>
>> What say you?
>>
>>
>> Andrei
> 
> What are the current ideas on result type and why don't they dunk?

The result type would be the type of the left-hand side. This makes ~ 
consistent of sorts with ~=.

> (personally, I like the idea of a syntax for converting from one unicode
> representation to another)

I don't think that's an option at the moment.


Andrei



More information about the Digitalmars-d mailing list