Re: Dynamic (more)

*To*: mathgroup at smc.vnet.net*Subject*: [mg87767] Re: Dynamic (more)*From*: dh <dh at metrohm.ch>*Date*: Wed, 16 Apr 2008 22:30:15 -0400 (EDT)*References*: <fu4fai$n8u$1@smc.vnet.net>

Hi Luca, Dynamic does only evaluate its arguments for display. Convince yourself by: Dynamic[Print["asas"];1] this gives a message Dynamic[Print["asas"];1]; this gives no message therefore, the statement:q = p + 1 in Dynamic[q = p + 1]; is never executed. Further, q=1;Dynamic[q] does return Dynamic[q] and not 1. Try: q=1;Dynamic[q]//FullForm This is then further evaluated for display to give 1. hope this helps, Daniel Gianluca Gorni wrote: > Hi! > > The following gives the (expected?) result 1: > > p = 0; > q = 0; > Dynamic[q = p + 1]; > Dynamic[q] > > This one gives {1, 1}, also as I would expect: > > DynamicModule[{p, q}, > p = 0; > q = 0; > {Dynamic[q = p + 1], > Dynamic[q]}] > > > Can anybody explain why the next gives 0? > > DynamicModule[{p, q}, > p = 0; > q = 0; > Dynamic[q = p + 1]; > Dynamic[q] > ] > > > Try the following pair too: > > DynamicModule[{p = 0, q}, {Dynamic[q = p + 1], Dynamic[q]}] > > DynamicModule[{p = 0, q}, Dynamic[q = p + 1]; Dynamic[q]] > > > > Luca > >