- Euphoria - Files I/O
- Euphoria - Functions
- Euphoria - Procedures
- Euphoria - Date & Time
- Euphoria - Sequences
- Euphoria - Short Circuit
- Euphoria - Flow Control
- Euphoria - Loop Types
- Euphoria - Branching
- Euphoria - Operators
- Euphoria - Data Types
- Euphoria - Constants
- Euphoria - Variables
- Euphoria - Basic Syntax
- Euphoria - Environment
- Euphoria - Overview
- Euphoria - Home
Euphoria Useful Resources
- Euphoria - Discussion
- Euphoria - Useful Resources
- Euphoria - Library Routines
- Euphoria - Quick Guide
Selected Reading
- Who is Who
- Computer Glossary
- HR Interview Questions
- Effective Resume Writing
- Questions and Answers
- UPSC IAS Exams Notes
Euphoria - Short Circuit Evaluation
When a condition is tested by if, elsif, until, or while using and or or operators, a short-circuit evaluation is used. For example −
if a < 0 and b > 0 then -- block of code end if
If a < 0 is false, then Euphoria does not bother to test if b is greater than 0. It knows that the overall result is false regardless. Similarly −
if a < 0 or b > 0 then -- block of code end if
if a < 0 is true, then Euphoria immediately decides that the result true, without testing the value of b, since the result of this test is irrelevant.
In General, whenever you have a condition of the following form −
A and B
Where A and B can be any two expressions, Euphoria takes a short-cut when A is false and immediately makes the overall result false, without even looking at expression B.
Similarly, whenever you have a condition of the following form −
A or B
Where A is true, Euphoria skips the evaluation of expression B, and declares the result to be true.
Short-circuit evaluation of and and or takes place for if, elsif, until, and while conditions only. It is not used in other contexts. For example −
x = 1 or {1,2,3,4,5} -- x should be set to {1,1,1,1,1}
If short-circuiting were used here, you would set x to 1, and not even look at {1,2,3,4,5}, which would be wrong.
Thus, short-circuiting can be used in if, elsif, until, or while conditions, because you need to only care if the result is true or false, and conditions are required to produce an atom as a result.
Advertisements