       Re: replace one rule in a list of rules

• To: mathgroup at smc.vnet.net
• Subject: [mg125592] Re: replace one rule in a list of rules
• From: Christoph Lhotka <christoph.lhotka at fundp.ac.be>
• Date: Tue, 20 Mar 2012 02:22:17 -0500 (EST)
• Delivered-to: l-mathgroup@mail-archive0.wolfram.com
• References: <jk1fv4\$515\$1@smc.vnet.net> <jk44fj\$e40\$1@smc.vnet.net> <201203190957.EAA00933@smc.vnet.net>

```Dear Alan,

if your simple examples below are what you need I would avoid to replace
rules
in a list but rather define the rules (which are needed to be changed) using
parameters or patterns:

Clear[a, b, c]
Table[{a -> 0.1, b -> i/10., c -> 0.1}, {i, 0, 10}]

For example if the rules are controlled by an external parameter,
you could define a rule depending on i as:

rul[i_]:={a -> 0.1, b -> i/10., c -> 0.1}

etc...

and use it in the following way in your expressions:

Table[{a,b,c}/.rul[i],{i,0,10}]

If the rule depends on the lhs of the above (the rule depends
on the expression it will be used with) I would use patterns

Clear[rul]
rul={a->0.1,b:>b/10, c->0.1}

{a,b,c}/. rul

Hope that helps,

Best,

Christoph

On 03/19/2012 10:57 AM, Alan wrote:
> Using Murray's approach I end up with (for example):
>
> Clear[a, b, c]
> rules = Thread[{a, b, c} ->  {0.1, 0.1, 0.1}]
> Table[rules /. ((b ->  _) ->  (b ->  i/10.)), {i, 0, 10}]
>
> Using Peter's approach I end up with (for example):
>
> Clear[a, b, c]
> rules = Thread[{a, b, c} ->  {0.1, 0.1, 0.1}]
> Table[(rules /. HoldPattern[b ->  _] :>  b ->  i/10.), {i, 0, 10}]
>
> Both appear to meet my needs. I'm not sure what the real
> difference between the two is.
>
> Thanks,
> Alan
>
>
> Thanks!
> Alan
>

```

• Prev by Date: Re: Different answers in mathematica and my calculator.
• Next by Date: Re: Cool example with ContourPlot+EvaluationMonitor
• Previous by thread: Re: replace one rule in a list of rules
• Next by thread: Re: replace one rule in a list of rules