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

MathGroup Archive 2012

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

Search the Archive

Funny Behavior of Module

  • To: mathgroup at smc.vnet.net
  • Subject: [mg124734] Funny Behavior of Module
  • From: Louis Talman <talmanl at gmail.com>
  • Date: Fri, 3 Feb 2012 02:09:31 -0500 (EST)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com

I know that Module exhibits some funny behavior, but this behavior is 
something I've never seen before. It seems wrong to me.

In a new kernel session enter

f[x_] := Module[{a},a = x^2; x = y; a]

f[z]

z

Mathematica returns y for z, as it ought to. (In fact, the purpose of 
the code was to demonstrate to students what can happen when a Module 
monkeys with its formal parameters.)

But f[z] returns y^2. It seems to me that it should return z^2, but that 
for some reason it's interpreting the first Set instruction in the body 
of the Module as a SetDelayed instruction. (We get exactly the same 
behavior if we replace that Set with SetDelayed in the code.)

Can anyone explain what's going on here? ITABOAF?


--Lou Talman
  Department of Mathematical & Computer Sciences
  Metropolitan State College of Denver

  <http://rowdy.mscd.edu/%7Etalmanl>







  • Prev by Date: Re: how to add color legend bar to a ListContourPlot
  • Next by Date: Re: Derivative of experimental data
  • Previous by thread: Re: Problem using Solve or Nsolve
  • Next by thread: Re: Funny Behavior of Module