D vs Go in real life

Bienlein jeti789 at web.de
Sat Nov 30 12:36:31 PST 2013


On Saturday, 30 November 2013 at 18:16:23 UTC, Walter Bright 
wrote:
> On 11/29/2013 12:29 AM, Bienlein wrote:
>> I guess in D you would do something like this:
>>
>> mixin template Rectangular() {
>>   Point x, y;
>> }
>>
>> mixin Rectangular;
>>
>> struct Rectangle {
>>   mixin Rectangular;
>> }
>
> It's easier than that:
>
> struct Rectangular {
>     Point x,y;
> }
>
> struct Rectangular {
>     Rectangle rectangle;
>     alias this rectangle;
> }

D is always full of surprises ;-). Now the only feature in Go 
that sets it apart from other languages is CSP.

I got this to work with help from the book by Ali Çehreli:

struct Point {
     int x,y;
}

struct Rectangular {
     Point x,y;
}

struct Rectangle  {
     Rectangular rectangular;
	
     Rectangular rect() const {
	return rectangular;
     }
	
     alias rect this;
}

void main(string[] args)
{
	Rectangle rectangle = Rectangle();
	rectangle.x = Point();
}



More information about the Digitalmars-d mailing list