Wolfgang Lenerz via Ql-Users wrote:
> Just a rant about the SBasic AND operator.
> 
> Suppose this:
> 
> 10 a=0
> 20 b=10
> 30 if (a<>0 AND b/a=5)
> 40   do_something
> 50 end if
> 
> Run it and what happens?
> 
> You get an "overflow" error at line 30.
> You get this error because it is trying to evaluate the second condition 
> (b/a) and failing as a=0 and you can't divide by 0.
> 
> BUT WHY IS IT TRYING TO EVALUATE THE SECOND CONDITION IN THE FIRST PLACE?

Maybe this wise language includes Chinese or Persian philosophy?

> The first condition (a<>0) is NOT met and so, in any other programming 
> language I use, the second condition isn't even tested, as the result 
> will be "false" anyway because of this.

IIRC other languages also do not _guarantee_ to stop evaluation after a
lefthand AND condition failed.

Peter
_______________________________________________
QL-Users Mailing List

Reply via email to