Re: If and ReplaceAll
- To: mathgroup at smc.vnet.net
- Subject: [mg102837] Re: [mg102851] If and ReplaceAll
- From: "Scot T. Martin" <smartin at seas.harvard.edu>
- Date: Sun, 30 Aug 2009 06:04:43 -0400 (EDT)
- References: <200908291033.GAA00437@smc.vnet.net>
I'm not really sure why you want to do this, but nevertheless the probelm is that If[] has the attribute of HoldRest. Here's one way to get the result you want: a = 2 c; f[z_] := If[z > 0, a, 0]; Evaluate /@ (Evaluate /@ (f[z]) /. c -> 1) However, generally, without knowing exactly what problem you want to solve, I think there is undoubtedly a better approach than what you're trying right now. On Sat, 29 Aug 2009, wiso wrote: > a = 2c; > ff[z_] := a; > ff[z] /. c -> 1 > > > and I got 2. Ok, now: > > a = 2 c; > f[z_] := If[z > 0, a, 0] > f[z] /. c -> 1 > > and I got: If[z > 0, a, 0] > but I want: If[z > 0, 2, 0] > > I tried to use Evaluate, FullSimplify... but nothing > > >
- References:
- If and ReplaceAll
- From: wiso <gtu2003@alice.it>
- If and ReplaceAll