Caution with Block vs Module
- To: mathgroup at smc.vnet.net
- Subject: [mg16433] Caution with Block vs Module
- From: Arnold Gregory Civ AFRL/SNAT <Gregory.Arnold at sn.wpafb.af.mil>
- Date: Sat, 13 Mar 1999 02:21:45 -0500
- Sender: owner-wri-mathgroup at wolfram.com
Hello all: I just "discovered" a nuance of Block which I did not anticipate so I thought I would share it with all of you. I started using Block as the head of all my functions after reading the message a few weeks ago on Block vs. Module. I thought I understood the differences, but the following example took me a long while to track down :( test[eq_]:=Block[{x},x=eq; Return[1]]; test[c*x] This gives a RecursionLimit. This occurs because only the value of x is blocked. Therefore test effectively says "x=c*x", which if you try it directly will also give you a RecursionLimit. Based on this aspect of Block, I think Module is the most appropriate method (in general) to use for functions! Greg _________________________________________________________ D. Gregory Arnold, Ph.D. Bldg 620 AFRL/SNAT garnold at mbvlab.wpafb.af.mil 2241 AVIONICS CIR Voice: (937) 255-1115 x4388 WPAFB OH 45433-7321 FAX: (937) 656-4414 _________________________________________________________