string concatenation
Ellery Newcomer
ellery-newcomer at utulsa.edu
Wed Nov 18 21:39:17 PST 2009
Andrei Alexandrescu wrote:
> 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 ~=.
>
That seems intuitive enough. Its what I would have guessed.
>> (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
I don't know what I ended up saying, but I meant
a = ""c ~ somewstring;
beats
a = std.utf.toString(somewstring);
//no I'm not going to check if that's the right function
am I still missing something?
More information about the Digitalmars-d
mailing list