[Date Index]
[Thread Index]
[Author Index]
Re: writing a function that would print the name of a
*To*: mathgroup at smc.vnet.net
*Subject*: [mg97673] Re: [mg97609] writing a function that would print the name of a
*From*: Bob Hanlon <hanlonr at cox.net>
*Date*: Wed, 18 Mar 2009 04:55:47 -0500 (EST)
*Reply-to*: hanlonr at cox.net
f1[x_String] :=
"The variable " <> x <> " contains the value " <>
ToString[ToExpression[x]]
x = 10
10
f1["x"]
The variable x contains the value 10
SetAttributes[f2, HoldFirst]
f2[x_Symbol] :=
"The variable " <> ToString[HoldForm[x]] <> " contains the value " <>
ToString[x]
f2[x]
The variable x contains the value 10
Bob Hanlon
On Tue, Mar 17, 2009 at 8:49 AM , johnclin at hss.caltech.edu wrote:
> I have a question that seems simple but I just could not figure out
> how to do it.
>
> I am trying to write a mathematica function that will print the *name*
> of the variable that I pass to the function as well as the value
> itself.
>
> For example, let's say that I define a variable x = 10.
>
> Now, I want to write a function that will print:
> "The variable x contains the value 10".
>
> I tried something like:
> displayOutput [varToPrint_] := (
> Print["The variable "];
> Print[ToString[varToPrint]]; (* <-- this is the problematic line*)
> Print["contains the value "];
> Print[x];
> )
>
> BTW, I do realize that the following works:
> x = 10;
> Print["The symbol ", HoldForm[x], " has a value of ", x];
>
> So there is something about how Mathematica evaluates expression
> inside a function that I am not understanding. Any suggestions?
Prev by Date:
**Re: Problem with mathlink:PLEASE HELP ME**
Next by Date:
**Filling Between Surfaces**
Previous by thread:
**Re: Wolfram WorkBench and iDisk**
Next by thread:
**Filling Between Surfaces**
| |