Thread overview | ||||||||
---|---|---|---|---|---|---|---|---|
|
June 02, 2016 [Blog post] Operator overloading for structs in D | ||||
---|---|---|---|---|
| ||||
I have written a blog post about operator overloading for structs. You can find it here: https://www.reddit.com/r/programming/comments/4m8mgr/operator_overloading_for_structs_in_d/ Comments and suggestions are appreciated. |
June 02, 2016 Re: [Blog post] Operator overloading for structs in D | ||||
---|---|---|---|---|
| ||||
Posted in reply to Minas Mina | On 6/2/16 2:34 PM, Minas Mina wrote:
> I have written a blog post about operator overloading for structs.
>
> You can find it here:
> https://www.reddit.com/r/programming/comments/4m8mgr/operator_overloading_for_structs_in_d/
>
>
> Comments and suggestions are appreciated.
Cool. You missed one very significant thing. That is using mixins to take advantage of the operator string.
For example, opOpAssign can be done in one step:
ref Rational opOpAssign(string op)(auto ref Rational r)
if(op == "+" || op == "-" || op == "/" || op == "*")
{
mixin("auto tmp = this " ~ op ~ " r;");
_n = tmp.n;
_d = tmp.d;
return this;
}
This is the whole reason, BTW, that operator overloads were changed from the original D1 style versions.
Some more examples of your Rational type in action would be good too.
-Steve
|
June 02, 2016 Re: [Blog post] Operator overloading for structs in D | ||||
---|---|---|---|---|
| ||||
Posted in reply to Steven Schveighoffer | On Thursday, 2 June 2016 at 18:55:36 UTC, Steven Schveighoffer wrote:
> On 6/2/16 2:34 PM, Minas Mina wrote:
>> [...]
>
> Cool. You missed one very significant thing. That is using mixins to take advantage of the operator string.
>
> For example, opOpAssign can be done in one step:
>
> ref Rational opOpAssign(string op)(auto ref Rational r)
> if(op == "+" || op == "-" || op == "/" || op == "*")
> {
> mixin("auto tmp = this " ~ op ~ " r;");
> _n = tmp.n;
> _d = tmp.d;
> return this;
> }
>
> This is the whole reason, BTW, that operator overloads were changed from the original D1 style versions.
>
> Some more examples of your Rational type in action would be good too.
>
> -Steve
Thanks for the feedback! I will update the post tomorrow or on Saturday.
|
June 02, 2016 Re: [Blog post] Operator overloading for structs in D | ||||
---|---|---|---|---|
| ||||
Posted in reply to Minas Mina | On 6/2/2016 11:34 AM, Minas Mina wrote:
> I have written a blog post about operator overloading for structs.
>
> You can find it here:
> https://www.reddit.com/r/programming/comments/4m8mgr/operator_overloading_for_structs_in_d/
>
>
> Comments and suggestions are appreciated.
Things usually go better on Reddit if you post as the first comment a summary of what the article is about.
Also, if you post your own articles, Reddit is likely to put you on their auto-ban list :-(
|
June 03, 2016 Re: [Blog post] Operator overloading for structs in D | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | On Thursday, 2 June 2016 at 20:53:18 UTC, Walter Bright wrote: > On 6/2/2016 11:34 AM, Minas Mina wrote: >> I have written a blog post about operator overloading for structs. >> >> You can find it here: >> https://www.reddit.com/r/programming/comments/4m8mgr/operator_overloading_for_structs_in_d/ >> >> >> Comments and suggestions are appreciated. > > Things usually go better on Reddit if you post as the first comment a summary of what the article is about. I'll do it in future posts then :) > Also, if you post your own articles, Reddit is likely to put you on their auto-ban list :-( What can I do about this? |
June 03, 2016 Re: [Blog post] Operator overloading for structs in D | ||||
---|---|---|---|---|
| ||||
Posted in reply to Minas Mina | On Friday, 3 June 2016 at 06:47:40 UTC, Minas Mina wrote:
>
>> Also, if you post your own articles, Reddit is likely to put you on their auto-ban list :-(
> What can I do about this?
Announce the post here and ask someone to post it to reddit for you.
|
Copyright © 1999-2021 by the D Language Foundation