|
I assume you meant it to do this:
bool more = ProcessFlyouts();
more = ProcessCarrierAnimations() || more;
Would do the same in C and C++ as well.
Those who fail to learn history are doomed to repeat it. --- George Santayana (December 16, 1863 – September 26, 1952)
Those who fail to clear history are doomed to explain it. --- OriginalGriff (February 24, 1959 – ∞)
|
|
|
|
|
OriginalGriff wrote: more = ProcessCarrierAnimations() || more;
Quite so. The bitwise | operator solves the problem too.
Marc
|
|
|
|
|
Yes - but I don't like bitwise operators with bools...
Those who fail to learn history are doomed to repeat it. --- George Santayana (December 16, 1863 – September 26, 1952)
Those who fail to clear history are doomed to explain it. --- OriginalGriff (February 24, 1959 – ∞)
|
|
|
|
|
I assume that you want to run the second method if first returns true, if that the case you have to switch the order
bool more = ProcessFlyouts();
more = ProcessCarrierAnimations() || more;
I'm not questioning your powers of observation; I'm merely remarking upon the paradox of asking a masked man who he is. (V)
|
|
|
|
|
Kornfeld Eliyahu Peter wrote: you have to switch the order
Yes indeed. Or use the bitwise operator.
Marc
|
|
|
|
|
I do not like that change from C/C++...I mean the | and || changes...
I'm not questioning your powers of observation; I'm merely remarking upon the paradox of asking a masked man who he is. (V)
|
|
|
|
|
This isn't a change from C++. It works the same way for both operators. Doesn't it? Now I'm going to have to read up on it, dammit!
- I would love to change the world, but they won’t give me the source code.
|
|
|
|
|
You have to! Otherwise you may end up with some mess if updating C/C++ to C# (what I'm doing just now)...
I'm not questioning your powers of observation; I'm merely remarking upon the paradox of asking a masked man who he is. (V)
|
|
|
|
|
Nah! As long as it compiles...
- I would love to change the world, but they won’t give me the source code.
|
|
|
|
|
Yeah! It compiles. After then you can rub your head to find where the bug is!
I'm not questioning your powers of observation; I'm merely remarking upon the paradox of asking a masked man who he is. (V)
|
|
|
|
|
Kornfeld Eliyahu Peter wrote: It compiles. After then you someone else will can rub your their head to find where the bug is!
FTFY
The report of my death was an exaggeration - Mark Twain
Simply Elegant Designs JimmyRopes Designs
I'm on-line therefore I am.
JimmyRopes
|
|
|
|
|
>> I do not like that change from C/C++...I mean the | and || changes...
Exactly, what changes are those? I've used C# for 10 ten years, and C/C++ for the ten years before that, and have noticed no differences in the handling of logical operators.
Truth,
James
|
|
|
|
|
Marc Clifton wrote: bitwise operator
So boolean is foolish?
|
|
|
|
|
MISRA[^] Rule 33 & 34:
The right hand operand of a || shall not contain side effects
The operands of a logical || shall be primary expressions
The example you gave is the very reason for the above two rules.
~RaGE();
I think words like 'destiny' are a way of trying to find order where none exists. - Christian Graus
Entropy isn't what it used to.
|
|
|
|
|
There's actually some nice concise uses of
var result = DoSomething() && DoSomethingThatDependsOnIt();
var result = DoSomething() || HandleFailureCase();
It's even better in languages where you can use non-boolean types with the boolean operators.
|
|
|
|
|
Let's say I have never seen these two lines of code, OK ?
~RaGE();
I think words like 'destiny' are a way of trying to find order where none exists. - Christian Graus
Entropy isn't what it used to.
|
|
|
|
|
Ouch! && Ouch! || Ouch!
- I would love to change the world, but they won’t give me the source code.
|
|
|
|
|
I never follow other peoples' rules.
You'll never get very far if all you do is follow instructions.
|
|
|
|
|
It's my rule that people have to breathe (or die trying).
|
|
|
|
|
Though Nish's and OG's examples will work, I think it is symantically better to do this:
bool more = ProcessFlyouts();
bool foo = ProcessCarrierAnimations();
more = more || foo;
Less terse code (normally bad) - but explicit in calling ProcessCarrierAnimations .
|
|
|
|
|
"Eliminate needless local variables."
You'll never get very far if all you do is follow instructions.
|
|
|
|
|
more |= ProcessCarrierAnimations(); ?
You'll never get very far if all you do is follow instructions.
|
|
|
|
|
var more = more || initalizeMore();
is a common practice in javascript.
|
|
|
|
|
Now, I'm not going to look at the other answers before I post so I don't know if others have got it right, or if there are additional nuggets of information. If ProcessFlyouts returns true then the second test isn't carried out - it's a conditional OR statement. So, if you want ProcessCarrierAnimations to be evaluated, convert it to
more = more | ProcessCarrierAnimations();
|
|
|
|
|
How about:
more &= ProcessCarrierAnimations();
The difficult we do right away...
...the impossible takes slightly longer.
|
|
|
|