Thread overview | ||||||
---|---|---|---|---|---|---|
|
June 19, 2017 Operator Overloading + / ~ | ||||
---|---|---|---|---|
| ||||
Just a thought it might be useful for cut-n-paste when porting code: Would it be possible to define an operator overloading for '+'-Operator for strings to work as append? (like ~). I understand, that '~' is in general a better choice than '+', so this is of more theoretical interest. It is clear to me, that when I define my own string type this is possible. Regards mt. |
June 19, 2017 Re: Operator Overloading + / ~ | ||||
---|---|---|---|---|
| ||||
Posted in reply to Martin Tschierschke | Martin Tschierschke wrote:
> Just a thought it might be useful for cut-n-paste when porting code:
>
> Would it be possible to define an operator overloading for '+'-Operator for strings to work as append? (like ~).
> I understand, that '~' is in general a better choice than '+', so this is of more theoretical interest.
> It is clear to me, that when I define my own string type this is possible.
>
> Regards mt.
nope. it is not possible to overload operators for built-in types (and string is just an aliased array).
|
June 19, 2017 Re: Operator Overloading + / ~ | ||||
---|---|---|---|---|
| ||||
Posted in reply to ketmar | On Monday, 19 June 2017 at 12:22:43 UTC, ketmar wrote:
> Martin Tschierschke wrote:
>
>> Just a thought it might be useful for cut-n-paste when porting code:
>>
>> Would it be possible to define an operator overloading for '+'-Operator for strings to work as append? (like ~).
>> I understand, that '~' is in general a better choice than '+', so this is of more theoretical interest.
>> It is clear to me, that when I define my own string type this is possible.
>>
>> Regards mt.
>
> nope. it is not possible to overload operators for built-in types (and string is just an aliased array).
Thank you for lightning fast response :-)
|
June 19, 2017 Re: Operator Overloading + / ~ | ||||
---|---|---|---|---|
| ||||
Posted in reply to Martin Tschierschke | On 6/19/17 8:16 AM, Martin Tschierschke wrote:
> Just a thought it might be useful for cut-n-paste when porting code:
>
> Would it be possible to define an operator overloading for '+'-Operator for strings to work as append? (like ~).
> I understand, that '~' is in general a better choice than '+', so this is of more theoretical interest.
> It is clear to me, that when I define my own string type this is possible.
>
> Regards mt.
>
Just a further note, there is a reason + is not concatenation for arrays.
does "1" + "1" = "2", or "11"? In some languages, both are possible outcomes, and which one is used depends on subtle differences in the context.
With a specific operator to mean concatenation, the intent is clear. I would recommend you stick to using ~ for concatenation, even for your own types.
-Steve
|
Copyright © 1999-2021 by the D Language Foundation