[Gambas-user] Breaking logical check when coming to a true statement in a IF block

derox derox_2 at ...3232...
Fri Nov 22 21:23:00 CET 2013


On Fri, 22 Nov 2013, derox wrote:
> Hi!
>
> Though I have limited knowledge of C++, I do believe it has the following
> functionallity that also could be useful in Gambas:
>
> If you have an IF-block with several statements that are to be evaluated,
> in C++ it will jump out of that evalutaion proccess as soon as it
> encounters a true statement. That way you can put procedure-calls from the
> IF-block that would normally crash the program if the prior checks are
> TRUE, but otherwise would run successfully.
>

Well... I think you mean: jumps out of a chain of ORs when a TRUE statement
is reached and jumps out of a chain of ANDs when a FALSE statement is
reached?

> Just a silly example
>
> If(itsWinterTime OR iceCreamWagonIsOpen) Then 'There are no Ice Wagons
> around in Winter, and the program will wonder what you are talking about
> and go crash sending out an Error message, but if it is summer time, there
> will be a ice wagon, but it is not neccessarily open :)
>    ...
> End if

This is called short-circuit evaluation and Gambas has it. Look at... the
documentation of If[0].

Regards,
Tobi

Hehe, yes - this is what I meant, but I struggeled to find the right terms
that you so well presented here. Life get's easier when you know the right
words :p

I though I found my code running after a TRUE statement was passed...
that's why I made the suggestion, but I must have missed something :)

Great to know that this exists already!



More information about the User mailing list