Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Short-Circuiting with Logical Operators
Message
From
28/10/2014 03:36:09
Lutz Scheffler
Lutz Scheffler Software Ingenieurbüro
Dresden, Germany
 
 
To
28/10/2014 03:32:58
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Environment versions
Visual FoxPro:
VFP 9 SP1
OS:
Windows Server 2003
Network:
Windows 2008 Server
Database:
MS SQL Server
Application:
Web
Miscellaneous
Thread ID:
01609995
Message ID:
01610000
Views:
50
Procedure call:
DO blabla
function call
blabla()
if you define
PROCEDURE blabla
or
FUNCTION blabla
does not mean a bit




>>This is way a function should just do it's job (return a value) rather then having side effects like
>>
>>change of Parameters
>>Output
>>....
>>
>>VFP's style to mix up function and procedure (determination by the way to call instead of definition) makes this very unclear.
>
>
>??
>
>>Lutz
>>
>>>In one of my apps I just found and fixed a subtle edge-case bug caused by short-circuiting of logical operators. With my coding style I'm not usually vulnerable to it so it was interesting to be reminded of this feature of VFP.
>>>
>>>LOCAL ;
>>>	llFlag
>>>
>>>llFlag = .F.
>>>
>>>CLEAR
>>>
>>>IF MyUDF( "First Argument" ) AND llFlag
>>>
>>>ENDIF
>>>
>>>IF llFlag AND MyUDF( "Second Argument" )
>>>
>>>ENDIF
>>>
>>>RETURN
>>>
>>>FUNCTION MyUDF ( tcArgumentPosition AS String )
>>>
>>>?"MyUDF( ) called when it is " + tcArgumentPosition
>>>
>>>ENDFUNC
>>>
Words are given to man to enable him to conceal his true feelings.
Charles Maurice de Talleyrand-Périgord

Weeks of programming can save you hours of planning.

Off

There is no place like [::1]
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform