|
|
Le 2020-03-27 à 07:03, Bald Eagle a écrit :
>
> "jr" <cre### [at] gmailcom> wrote:
>
>> docs 3.3.2.2.2 "declare vs local", see paragraph beginning with "Use of #local
>> within an include file ...". (no different, afaict, from being within a macro)
>
>
> I considered the ephemeral nature and scope, but if it does indeed apply, then I
> don't currently see how. We're definitely looking for the problem/solution in
> the same place.
>
> The #declare of Z ought to create a Z that persists in all parts of the scene
> file.
> Even if it didn't, I'm still in the inc file that I created it in, so in theory
> I ought to be able to (and should) use #local (but I'm still in early
> development).
>
> #local Z = Z - dz; ought to work because we're still IN the inc file, and IN the
> loop - and THAT works in the standalone scene (where I'd think the same #local
> issue would apply). Otherwise I'd have to do some wacky #local Z = global(Z) -
> dz; which obviously has it's own failure, and how would you do a #while?
>
> Once the whole loop is complete, I don't need Z or long, because I'm done
> defining the object.
>
>
>
>
The #local Z = Z - dz; is local to the for loop and distinct from the
variable created with the #declare Z = 1 - dz/2;
As soon as the local Z is declared, the global Z becomes invisible or
hidden. That local Z disappears as soon as you exit the for loop.
So, in your include, use only #local and only use #declare if you want
to affect the global instance of your variables, like when you want to
pass back some computed values.
Post a reply to this message
|
|