Re: Localizing Large Numbers of Variables in a DynamicModule:
- To: mathgroup at smc.vnet.net
- Subject: [mg85747] Re: Localizing Large Numbers of Variables in a DynamicModule:
- From: Szabolcs Horvát <szhorvat at gmail.com>
- Date: Thu, 21 Feb 2008 17:53:44 -0500 (EST)
- Organization: University of Bergen
- References: <fpfkuo$k6t$1@smc.vnet.net>
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.
I really don't understand what you are trying to achieve here ... but
perhaps you will find some inspiration in this:
With[{args = {x1,x2,x3,x4,x5}},
DynamicModule[args,
oo@@args;
oo@@args;
...
]
]
With[] will just subsitute {x1,x2,x3,x4,x5} for every instance of args
before it evaluates its body.
Szabolcs