POV-Ray : Newsgroups : povray.unofficial.patches : #let keyword(was: Previews of Ice Planet...) : Re: #let keyword(was: Previews of Ice Planet...) Server Time
2 Sep 2024 06:19:02 EDT (-0400)
  Re: #let keyword(was: Previews of Ice Planet...)  
From: Peter J  Holzer
Date: 3 Sep 2000 20:00:45
Message: <slrn8r5jct.hvs.hjp-usenet@teal.h.hjp.at>
On Thu, 31 Aug 2000 16:56:11 -0500, Chris Huff wrote:
>The real keyword is #set...I think "let" is a BASIC keyword for creating 
>variables, which is why I didn't use it. The keyword I chose, "set", 
>describes what the keyword does, and is nice and short compared to 
>#local and #declare(which helps to make it stand out visually).

When I learned BASIC (1983), you didn't have to create any variables,
they were created automatically on first use. "let" simply started an
assignment statement, but it was optional, so you could either write

    10 LET A = SQR(2)

or 

    10 A = SQR(2)

Arrays would be dimensioned with DIM, so could write

    10 DIM A$(30)

to create an Array of 31 Strings. If you didn't use DIM, the array
would be created with 11 elements at first use. Some dialects allowed
you to resize arrays at runtime. 

I think later dialects also used DIM to define structures and other
complex data types, but at that time I was already off to other
programming languages.

[alternatives snipped]

I would prefer if no keyword was necessary at all, just 

    # a = a + 5

I think this should be possible with minor changes in the parser, since
keywords cannot be used as variable names anyway.

If not, I think #set is best, followed by #let (for old times' sake :-)
The alternatives are too long and not any clearer than these.

	hp

-- 
   _  | Peter J. Holzer    | Nicht an Tueren mangelt es,
|_|_) | Sysadmin WSR       | sondern an der Einrichtung (aka Content).
| |   | hjp### [at] wsracat      |    -- Ale### [at] univieacat
__/   | http://www.hjp.at/ |       zum Thema Portale in at.linux


Post a reply to this message

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