PQOTD
-
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
-
Programming Quiz of the day. I just wrote this code (C#), which did something very unexpected. What was it that it unexpectedly did?
bool more = ProcessFlyouts(); more = more || ProcessCarrierAnimations();
How would you change it to "do the right thing?" Marc
The right hand operand of a || shall not contain side effects
The operands of a logical || shall be primary expressionsThe 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.
-
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 – ∞)
-
|
Regards, Nish
Blog: voidnish.wordpress.com Latest article: C++ 11 features in Visual C++ 2013 Preview
-
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... X|
I'm not questioning your powers of observation; I'm merely remarking upon the paradox of asking a masked man who he is. (V)
-
The right hand operand of a || shall not contain side effects
The operands of a logical || shall be primary expressionsThe 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.
-
Programming Quiz of the day. I just wrote this code (C#), which did something very unexpected. What was it that it unexpectedly did?
bool more = ProcessFlyouts(); more = more || ProcessCarrierAnimations();
How would you change it to "do the right thing?" Marc
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
.PB 369,783 wrote:
I just find him very unlikeable, and I think the way he looks like a prettier version of his Mum is very disturbing.[^]
-
Programming Quiz of the day. I just wrote this code (C#), which did something very unexpected. What was it that it unexpectedly did?
bool more = ProcessFlyouts(); more = more || ProcessCarrierAnimations();
How would you change it to "do the right thing?" Marc
more |= ProcessCarrierAnimations();
?You'll never get very far if all you do is follow instructions.
-
You should be able to glean what the programmer intends to happen from the code. :) Marc
-
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.
-
You should be able to glean what the programmer intends to happen from the code. :) Marc
Have you been to QA lately? :laugh:
Every day, thousands of innocent plants are killed by vegetarians. Help end the violence EAT BACON
-
Programming Quiz of the day. I just wrote this code (C#), which did something very unexpected. What was it that it unexpectedly did?
bool more = ProcessFlyouts(); more = more || ProcessCarrierAnimations();
How would you change it to "do the right thing?" Marc
var more = more || initalizeMore(); is a common practice in javascript.
Curvature of the Mind now with 3D
-
I do not like that change from C/C++...I mean the | and || changes... X|
I'm not questioning your powers of observation; I'm merely remarking upon the paradox of asking a masked man who he is. (V)
-
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.
-
Programming Quiz of the day. I just wrote this code (C#), which did something very unexpected. What was it that it unexpectedly did?
bool more = ProcessFlyouts(); more = more || ProcessCarrierAnimations();
How would you change it to "do the right thing?" Marc
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();
-
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)
-
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
.PB 369,783 wrote:
I just find him very unlikeable, and I think the way he looks like a prettier version of his Mum is very disturbing.[^]
"Eliminate needless local variables." :-D
You'll never get very far if all you do is follow instructions.
-
The right hand operand of a || shall not contain side effects
The operands of a logical || shall be primary expressionsThe 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.
I never follow other peoples' rules. :cool:
You'll never get very far if all you do is follow instructions.
-
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)