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
>
>