Re: Localizing Large Numbers of Variables in a DynamicModule:
- To: mathgroup at smc.vnet.net
- Subject: [mg85768] Re: Localizing Large Numbers of Variables in a DynamicModule:
- From: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>
- Date: Thu, 21 Feb 2008 18:04:33 -0500 (EST)
- Organization: Uni Leipzig
- References: <fpfkuo$k6t$1@smc.vnet.net>
- Reply-to: kuska at informatik.uni-leipzig.de
Hi, and args = {x1, x2, x3, x4} DynamicModule @@ {args, {x1, x2} } does what you expect .. However -- it is incredible bad style to make functions with "large number of variables" The usual way is to break down the task to a large number of tiny functions. It is well know from other programming languages that this technique avoid many local variables. Regards Jens Ron Monson wrote: > > I'm wondering if anyone can see a shorter way of localising a large number of variables within a DynamicModule? For example, instead of > DynamicModule[{x1,x2,x3,x4,x5}, > oo[x1,x2,x3,x4,x5]; > oo[x1,x2,x3,x4,x5]; > something with an idiom along the lines of > args={x1,x2,x3,x4,x5}; > DynamicModule[args, > oo[args]; > oo[args] > > The motivation for this is that in constructing a complex interface the number of varfiables and functions may get quite large and further, these variables may also need to be accessed in another function that is nested more deeply . For example, function foo may call other functions which in turn call other functions ... until finally the bottom function may need to access say the variable - x1. Having to repeatedly pass the entire or selected parts of the variable space can get unwieldy and impact on the final code's readability. Thanks.