Leonhard Moehring on Mon, 08 Nov 1999 11:22:11 +0100 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: if-bug |
Michael Somos wrote: >> ? if([1]==1,) >> *** forbidden addition t_INT + t_VEC. >> Seems like a bug to me. > >Actually, no. It is a feature. You can multiply or divide a vector >by a scalar, but not add or subtract. In this case, comparison is >in the same class as addition, hence is not allowed. Thus we get : hmm.. are you really sure it is a useful feature? After all, if i want to check identity of two GENs, first of all i need to check if one of them is a vector, and the other is a scalar, just in order not to crash my program? after all, many other tests, like "a"==1 work fine. I haven't checked if any other types fail this test, since i'm only interested in scalars or vectors. Of course short-circuit logic allows to have one if statement with && to do the job but i don't really see an advantage in it. [1]==1 should just yield 0 imho. On the other hand, if you feel it is useful, don't you think that the error message is misleading? You know that "in this case, comparison is in the same class as addition", but if someone is looking for bugs in a long program someone just might not think of it :) Thanks, Leonhard