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