Services & Resources / Wolfram Forums
MathGroup Archive
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 1995

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

Search the Archive

Re: Equating a variable and its value

  • To: mathgroup at
  • Subject: [mg1237] Re: Equating a variable and its value
  • From: rubin at (Paul A. Rubin)
  • Date: Fri, 26 May 1995 05:00:02 -0400
  • Organization: Michigan State University

In article <3puhq7$m8n at>,
   jans at (Jan Snellman) wrote:
->Hello folks.
->Study this codelet:
->m=3; mult=Times[#,m]&; Clear[m]; mult[10]
->To my dismay, I get 10 m, not 30.
->How can i convince Mathematica that only pedants make the distinction
->between a variable and its value?
->Jan Snellman	jans at
The problem is that Function (which you are invoking with the ampersand 
suffix) has attribute HoldAll:  it holds all its arguments unevaluated.  If 
you wrap the function (excluding the ampersand) in Evaluate[], you get what 
you wanted:

  m=3; mult=Evaluate[Times[#,m]]&; Clear[m]; mult[10]

produces result 30.


* Paul A. Rubin                                  Phone: (517) 432-3509   *
* Department of Management                       Fax:   (517) 432-1111   *
* Eli Broad Graduate School of Management        Net:   RUBIN at MSU.EDU    *
* Michigan State University                                              *
* East Lansing, MI  48824-1122  (USA)                                    *
Mathematicians are like Frenchmen:  whenever you say something to them,
they translate it into their own language, and at once it is something
entirely different.                                    J. W. v. GOETHE

  • Prev by Date: Re: Equating a variable and its value
  • Next by Date: strings into lists
  • Previous by thread: Re: Equating a variable and its value