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.