Mathematica 9 is now available
Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2012

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Why HoldForm[] shows this expression in red in notebook?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg125064] Re: Why HoldForm[] shows this expression in red in notebook?
  • From: David Bailey <dave at removedbailey.co.uk>
  • Date: Mon, 20 Feb 2012 02:48:28 -0500 (EST)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • References: <jhqml4$f9t$1@smc.vnet.net>

On 19/02/2012 11:32, Nasser M. Abbasi wrote:
> foo[x_, v_] := Module[{z = v},
>     {x^z, Hold[x^z], HoldForm[x^z]}
>     ];
>
> Any one knows why the notebook shows the 'z' in the last term above in
> the red and but not the other z's?
>
> I am using V 8.04 on windows
>
> thanks
> --Nasser
>
>
I think the last z is coloured red because you are returning an 
expression involving a local variable:

In[2]:= foo[a,b]

Out[2]= {a^b,Hold[a^z$6385],a^z$6385}

Notice the strange variable z$6385 - which is local. I can't see why the 
middle term isn't red as well, but the left term evaluates to something 
that doesn't involve a local variable.

Perhaps you really wanted to write this:

foo[x_, v_] := Module[{z = v},
    {x^z, Hold[Evaluate[x^z]], HoldForm[Evaluate[x^z]]}
    ];

In[4]:= foo[a,b]
Out[4]= {a^b,Hold[a^b],a^b}

David Bailey
http://www.dbaileyconsultancy.co.uk



  • Prev by Date: Re: Interrupt a block
  • Next by Date: Re: How to specify the gradient of this function?
  • Previous by thread: Re: Why HoldForm[] shows this expression in red in notebook?
  • Next by thread: Re: Why HoldForm[] shows this expression in red in notebook?