On Thursday, 14 March 2013 at 13:58:45 UTC, n00b wrote:
I tried to use a boolean operator for an array operation :

a[] = b[] < c[];

It compiles but seems to only fill a[] with the result of b[0] < c[0].
Is there any "rational" reason to that?

Yes i think there is a rational reason. Check this:

int a[] = [1,0,0];
int b[] = [0,1,0];
int c[] = [1,1,0];

bool ab = a[] < b[]; // False.  a[0] > b[0]
bool ac = a[] < c[]; // True.  a[0] == c[0] but a[1] < c[1];

writeln(ab);
writeln(ac);
c[] = ab; // <-- assign!

You see? Your code do this:

a[] = (b[] < c[]);

Reply via email to