Re: ReplaceAll in If Statement

• To: mathgroup at smc.vnet.net
• Subject: [mg19472] Re: [mg19448] ReplaceAll in If Statement
• From: "Mark E. Harder" <harderm at ucs.orst.edu>
• Date: Sat, 28 Aug 1999 15:53:03 -0400
• Sender: owner-wri-mathgroup at wolfram.com

```Tom;
making opList a list, then enclosing it in {} in the rule application.
While a/. {(a->True)} becomes a=True, a/.{{a->True}} evaluates to neither t
nor f, so the If[] returns z=3. The following is what you want:

In[38]:=
opList=(a->True);

test[opts___]:=Module[{},
If[a /. {opts}, z=1, z=2, z=3];
{a, z} /. {opts}]

test[opList]

Out[39]=
{True,1}

-mark

-----Original Message-----
From: Tom Compton <comptont at concentric.net>
To: mathgroup at smc.vnet.net
Subject: [mg19472] [mg19448] ReplaceAll in If Statement

>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}}
>
>
>
>Tom Compton
>
>
>

```

• Prev by Date: Finite Element Method and Mathematica
• Next by Date: Re: ReplaceAll in If Statement
• Previous by thread: Re: ReplaceAll in If Statement
• Next by thread: Re: ReplaceAll in If Statement