[Date Index]
[Thread Index]
[Author Index]
RE: How to tell Mathematica to stop conditional testing in an If statment if one condition is niether True or False? McCarthy evaluation rules? 'and then' test?
*To*: mathgroup at smc.vnet.net
*Subject*: [mg69539] RE: [mg69525] How to tell Mathematica to stop conditional testing in an If statment if one condition is niether True or False? McCarthy evaluation rules? 'and then' test?
*From*: "David Park" <djmp at earthlink.net>
*Date*: Fri, 15 Sep 2006 06:44:53 -0400 (EDT)
Nasser,
What about a more specific test?
xc = Table[i, {i, 1, 3}];
x = 5;
If[x === b && xc[[10]] == 4, Print["True"], Print["False"], Print["Can't
decide"]]
False
If[NumericQ[b] && x == b && xc[[10]] == 4, Print["True"], Print["False"],
Print["Can't
decide"]]
False
David Park
djmp at earthlink.net
http://home.earthlink.net/~djmp/
From: Nasser Abbasi [mailto:nma at 12000.org]
To: mathgroup at smc.vnet.net
I can better describe this with simple example:
------------- code ------------
Remove["Global`*"];
xc = Table[i, {i, 1, 3}]
x = 5;
If[x == b && xc[[10]] == 4, Print["True"], Print["False"], Print["Can't
decide"]]
----- end code -------------
In the above, 'x==b' is neither True nor False, since 'b' has no numerical
value.
But what I want is when this happens, for Mathematica to NOT continue with
the testing if xc[[10]]==4 is True (because even if it is True, it will
not change the outcome, which is can't decide.
I am looking for something like 'and then' which says to test the next
condition only if the one just tested was true.
The interesting thing is that if 'b' had a value, say 7, which makes the
first test (the x==b) to be False, then Mathematica does the right thing,
and will not try to check the xc[[10]]==4 condition. I need it to do the
same thing when also the result of the check is 'undecided', not just
'False' or 'True'.
Is there a way to do this? Notice in the example above, I get the error
that xc[[10]] is out of bound, but still get the can't decide message.
It is clear to me that the way Mathematica does it now is not the right way.
I do not see why it tries to check for xc[[10]]==4 when it will not make a
difference to the final result.
any thoughts?
thanks,
Nasser
Prev by Date:
**Re: partials of Sum[x[i]^2, {i,1,n}] (e.g.)**
Next by Date:
**Re: How to tell Mathematica to stop conditional testing in an If statment if one condition is niether True or False? McCarthy evaluation rules? 'and then' test?**
Previous by thread:
**Re: How to tell Mathematica to stop conditional testing in an If statment if one condition is niether True or False? McCarthy evaluation rules? 'and then' test?**
Next by thread:
**Re: How to tell Mathematica to stop conditional testing in an If statment if one condition is niether True or False? McCarthy evaluation rules? 'and then' test?**
| |