POV-Ray : Newsgroups : povray.documentation.inbuilt : Reference:Arrays note about 40 character identifier limit. Server Time
28 Mar 2024 16:24:26 EDT (-0400)
  Reference:Arrays note about 40 character identifier limit. (Message 1 to 8 of 8)  
From: William F Pokorny
Subject: Reference:Arrays note about 40 character identifier limit.
Date: 12 Dec 2016 06:44:25
Message: <584e8d99$1@news.povray.org>
Ref:

http://wiki.povray.org/content/Reference:Array

There is this:

Where IDENTIFIER is the name of the identifier up to 40 characters long 
and INT is a valid float expression which is internally truncated to an 
integer which specifies the size of the array.

I believe identifiers can be longer than 40 characters & that we've 
recently added such notes elsewhere. Perhaps we need not mention the 
identifier limit specifically for arrays should we want to avoid another 
change note.

Bill P.


Post a reply to this message

From: Jim Holsenback
Subject: Re: Reference:Arrays note about 40 character identifier limit.
Date: 12 Dec 2016 07:38:55
Message: <584e9a5f$1@news.povray.org>
On 12/12/2016 6:44 AM, William F Pokorny wrote:
> Ref:
>
> http://wiki.povray.org/content/Reference:Array
>
> I believe identifiers can be longer than 40 characters & that we've
> recently added such notes elsewhere. Perhaps we need not mention the
> identifier limit specifically for arrays should we want to avoid another
> change note.

i've already addressed that here: 
http://wiki.povray.org/content/Reference_Talk:Array

but haven't moved it over yet ... was waiting for some kind of heads up 
that the other feature add/change was going to make it into release branch


Post a reply to this message

From: William F Pokorny
Subject: Re: Reference:Arrays note about 40 character identifier limit.
Date: 12 Dec 2016 08:58:40
Message: <584ead10$1@news.povray.org>
On 12/12/2016 07:38 AM, Jim Holsenback wrote:
> On 12/12/2016 6:44 AM, William F Pokorny wrote:
>> Ref:
>>
>> http://wiki.povray.org/content/Reference:Array
>>
>> I believe identifiers can be longer than 40 characters & that we've
>> recently added such notes elsewhere. Perhaps we need not mention the
>> identifier limit specifically for arrays should we want to avoid another
>> change note.
>
> i've already addressed that here:
> http://wiki.povray.org/content/Reference_Talk:Array
>
> but haven't moved it over yet ... was waiting for some kind of heads up
> that the other feature add/change was going to make it into release branch
>
I didn't think to look there - cool! :-)

Bill P.


Post a reply to this message

From: clipka
Subject: Re: Reference:Arrays note about 40 character identifier limit.
Date: 12 Dec 2016 13:05:54
Message: <584ee702$1@news.povray.org>
Am 12.12.2016 um 13:38 schrieb Jim Holsenback:
> On 12/12/2016 6:44 AM, William F Pokorny wrote:
>> Ref:
>>
>> http://wiki.povray.org/content/Reference:Array
>>
>> I believe identifiers can be longer than 40 characters & that we've
>> recently added such notes elsewhere. Perhaps we need not mention the
>> identifier limit specifically for arrays should we want to avoid another
>> change note.
> 
> i've already addressed that here:
> http://wiki.povray.org/content/Reference_Talk:Array
> 
> but haven't moved it over yet ... was waiting for some kind of heads up
> that the other feature add/change was going to make it into release branch

Then let it hereby be known that flexible-size arrays, mixed-type arrays
and dictionaries have joined the master branch on November 25th. ;)

Also included are two pseudo-dictionaries, `local` and `global`,
representing the "most local" identifiers and the global identifiers,
respectively. For example:

    #declare local.Foo = 4711;
    #undef global.Foo;

will declare a local variable named "Foo", and undefine any global
variable of the same name, respectively.

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


Post a reply to this message

From: Jim Holsenback
Subject: Re: Reference:Arrays note about 40 character identifier limit.
Date: 13 Dec 2016 11:52:10
Message: <5850273a$1@news.povray.org>
On 12/12/2016 1:05 PM, clipka wrote:
> Am 12.12.2016 um 13:38 schrieb Jim Holsenback:
>> On 12/12/2016 6:44 AM, William F Pokorny wrote:
>>> Ref:
>>>
>>> http://wiki.povray.org/content/Reference:Array
>>>
>>> I believe identifiers can be longer than 40 characters & that we've
>>> recently added such notes elsewhere. Perhaps we need not mention the
>>> identifier limit specifically for arrays should we want to avoid another
>>> change note.
>>
>> i've already addressed that here:
>> http://wiki.povray.org/content/Reference_Talk:Array
>>
>> but haven't moved it over yet ... was waiting for some kind of heads up
>> that the other feature add/change was going to make it into release branch
>
> Then let it hereby be known that flexible-size arrays, mixed-type arrays
> and dictionaries have joined the master branch on November 25th. ;)
>
> Also included are two pseudo-dictionaries, `local` and `global`,
> representing the "most local" identifiers and the global identifiers,
> respectively. For example:
>
>     #declare local.Foo = 4711;
>     #undef global.Foo;
>
> will declare a local variable named "Foo", and undefine any global
> variable of the same name, respectively.
>
> *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?


Post a reply to this message

From: clipka
Subject: Re: Reference:Arrays note about 40 character identifier limit.
Date: 13 Dec 2016 12:25:55
Message: <58502f23@news.povray.org>
Am 13.12.2016 um 17:52 schrieb Jim Holsenback:

> ok so some clean up and one add ... local and global are /still/ keywords?

Yes.

`local` is now a special keyword that essentially evaluates to the
directory of "most local" variables.

`global` is now a special keyword that essentially evaluates to the
directory of "least local" (i.e. global) variables.


In addition to that, `local` of course retains its well-established
meaning after `#` to form the `#local` directive. (Technically, all the
directives are actually the `#` token followed by a keyword.)


Post a reply to this message

From: Jim Holsenback
Subject: Re: Reference:Arrays note about 40 character identifier limit.
Date: 13 Dec 2016 12:26:11
Message: <58502f33$1@news.povray.org>
On 12/13/2016 11:52 AM, Jim Holsenback wrote:
> On 12/12/2016 1:05 PM, clipka wrote:
>> Am 12.12.2016 um 13:38 schrieb Jim Holsenback:
>>> On 12/12/2016 6:44 AM, William F Pokorny wrote:
>>>> Ref:
>>>>
>>>> http://wiki.povray.org/content/Reference:Array
>>>>
>>>> I believe identifiers can be longer than 40 characters & that we've
>>>> recently added such notes elsewhere. Perhaps we need not mention the
>>>> identifier limit specifically for arrays should we want to avoid
>>>> another
>>>> change note.
>>>
>>> i've already addressed that here:
>>> http://wiki.povray.org/content/Reference_Talk:Array
>>>
>>> but haven't moved it over yet ... was waiting for some kind of heads up
>>> that the other feature add/change was going to make it into release
>>> branch
>>
>> Then let it hereby be known that flexible-size arrays, mixed-type arrays
>> and dictionaries have joined the master branch on November 25th. ;)
>>
>> Also included are two pseudo-dictionaries, `local` and `global`,
>> representing the "most local" identifiers and the global identifiers,
>> respectively. For example:
>>
>>     #declare local.Foo = 4711;
>>     #undef global.Foo;
>>
>> will declare a local variable named "Foo", and undefine any global
>> variable of the same name, respectively.
>>
>> *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?


Post a reply to this message

From: clipka
Subject: Re: Reference:Arrays note about 40 character identifier limit.
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
      ...
    #end

    #declare X=1;
    #declare Y=2;
    Foo(X,Y);
    #undef Y;
    Foo(X,Y);
    Foo(X,);


Post a reply to this message

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