When you do an ASSIGN statement, Blitz makes the effort to
convert the right hand form into a suitable adaptation for the left hand form. An assign statement is represented by a "=" .
A comparison process, such as with an IF or SELECT statement, also uses a "=" symbol to compare two items together. But since the result is not going to be reassigned from right to left, there is no conversion done.
If, like C or C++, you used a different symbol to represent a comparason ("==" instead of just "="), it is easy to make this mistake, to assume that such a conversion takes place.
Actually, it should be possible to consider making such an effort to convert righthand form to lefthand form before making a comparason, but at present it appears that Blitz does not do this. So for the moment, it appears to just work as designed, and this would be a design feature.
convert the right hand form into a suitable adaptation for the left hand form. An assign statement is represented by a "=" .
A comparison process, such as with an IF or SELECT statement, also uses a "=" symbol to compare two items together. But since the result is not going to be reassigned from right to left, there is no conversion done.
If, like C or C++, you used a different symbol to represent a comparason ("==" instead of just "="), it is easy to make this mistake, to assume that such a conversion takes place.
Actually, it should be possible to consider making such an effort to convert righthand form to lefthand form before making a comparason, but at present it appears that Blitz does not do this. So for the moment, it appears to just work as designed, and this would be a design feature.