Re: ReplaceAll in If Statement

*To*: mathgroup at smc.vnet.net*Subject*: [mg19483] Re: [mg19448] ReplaceAll in If Statement*From*: "Tomas Garza" <tgarza at mail.internet.com.mx>*Date*: Sat, 28 Aug 1999 15:53:09 -0400*Sender*: owner-wri-mathgroup at wolfram.com

Tom Compton [comptont at concentric.net] wrote: > In the following sequence I expected z to evaluate to 1 in the > Module. It appears that the test in the module does not > evaluate to either True or False. I don't understand why. > Can anyone explain? > > In[1]:= > opList={a->True}; > > In[2]:= > test[opts___]:=Module[{}, > If[a /. {opts}, z=1, z=2, z=3]; > {a, z} /. {opts}] > > In[3]:= > test[opList] > Out[3]= > {{True,3}} Leave the braces out in {opts}: In[1]:= test2[opts___] := Module[{}, If[a /. opts, z = 1, z = 2, z = 3]; {a, z} /. opts] In[2]:= test2[opList] Out[2]= {True, 1} Since a/.{opList} gives {True}, this is neither True or False. Tomas Garza Mexico City