POV-Ray : Newsgroups : povray.documentation.inbuilt : Reference:Arrays note about 40 character identifier limit. : Re: Reference:Arrays note about 40 character identifier limit. Server Time
1 Jun 2023 14:35:37 EDT (-0400)
  Re: Reference:Arrays note about 40 character identifier limit.  
From: clipka
Date: 13 Dec 2016 19:37:30
Message: <5850944a$1@news.povray.org>
Am 13.12.2016 um 18:26 schrieb Jim Holsenback:

>>> *NOTE*: These pseudo-dictionaries *REPLACE* the `local()` and `global()`
>>> pseudo-functions, which are currently mentioned in the tutorial's "New
>>> features" section, the "Identifier Name Collisions" section in the
>>> reference page on #declare and #local, and in the "Optional Parameters"
>>> section in the reference page on macros.
>> ok so some clean up and one add ... local and global are /still/
>> keywords?
> one more question ... id name collisions it's just a delete but optional
> params part i see in 1st note reference to /local/ should the link now
> point to the add i'll be doing to the array page? what about example
> just below the note ... still valid example?

I think we should keep some mention of the mechanism in the "Identifier
Name Collisions" section, except of course that it needs to be re-worded
to fit the dictionary-ish version rather than the function-ish one. And
it may be shortened to a reference to the section on dictionaries.

Where the "Optional Parameters" note links to depends on where we want
to put the primary information on the "local" pseudo-dictionary: In the
dictionaries reference, or the identifier name collision section. I'd
advocate the former.

The text "... make use of the `local()` pseudo-function..." of course
needs to be replaced with "... make use of the `local`
pseudo-dictionary...", and the example indeed needs fixing as well:

    #macro Foo(P1, optional P2)
      #ifndef(local.P2) #local P2 = 0; #end // provide default for P2

    #declare X=1;
    #declare Y=2;
    #undef Y;

Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.