| Author |
Strange Assertion Behaviour
|
Arthur Blair
Ranch Hand
Joined: Sep 20, 2005
Posts: 71
|
|
In the following example from Dan Chisolm: I would have thought that this wouldn't compile because the expression i1 = j1 + x1 doesn't return a boolean, it returns an int. I thought that the assert() method needed to receive a boolean. So what is going on here? I'm a little confused.
|
 |
marc weber
Sheriff
Joined: Aug 31, 2004
Posts: 11343
|
|
The complete expression is (i1 = j1 + x1) < 6; which does return a boolean. [ February 10, 2006: Message edited by: marc weber ]
|
"We're kind of on the level of crossword puzzle writers... And no one ever goes to them and gives them an award." ~Joe Strummer
sscce.org
|
 |
Joshua Smith
Ranch Hand
Joined: Aug 22, 2005
Posts: 192
|
|
Arthur- You're right that (i1 = j1 + x1) doesn't return a boolean, but (i1 = j1 + x1) < 6 does. It's saying "assign i1 the value of j1 plus x1 and then compare the result to see if it's less than 6. (i1 = j1 + x1) < 6 translates to result of addition assigned to i1 compared with 6 and that evaluates to a boolean. Josh
|
Rational Pi Blog - Java, SCJP, Dev Bits- http://rationalpi.wordpress.com
|
 |
Arthur Blair
Ranch Hand
Joined: Sep 20, 2005
Posts: 71
|
|
|
clearly my brain isn't working today. Thanks guys.
|
 |
 |
|
|
subject: Strange Assertion Behaviour
|
|
|