thanks bruce -- i was kind of poking around for a definitive as to when to
use global or property and this explained it perfectly. (even tho wasn't my
question)
-- carol

> ----------
> From:         Bruce Epstein - Zeus Productions
> Reply To:     [EMAIL PROTECTED]
> Sent:         Wednesday, November 14, 2001 11:30 AM
> To:   [EMAIL PROTECTED]
> Cc:   [EMAIL PROTECTED]
> Subject:      Re: <lingo-l> Moving sprites
> 
> At 06:02 PM -0500 11/13/01, "Genevieve Young" <[EMAIL PROTECTED]>
> wrote:
> >In Lingo in a Nutshell,  Pg 331, Bruce Epstein has thoroughly confused
> me:
> >
> >�Property variables  ( beginning with the letter �p� for clarity ) are
> used
> >instead
> >of  global variables. Properties are declared with the keyword  property,
> >and can  contain a different value for each instance of the object (that
> is,
> >each timer). If we used global, multiple timers would trample the values
> >held in the globals.�
> 
> 
> Note: I don't usually have time to monitor all posts on Lingo-L, so write
> to me privately at [EMAIL PROTECTED] if you have a question about
> something in one of my books.
> 
> The above quote is taken a bit out of context. In the book, I first
> explain
> how to make a "timer." Then, to explain objects and property variables, I
> explain how to make a *re-usable* timer. The above sentence is a little
> harder to understand out of context and without the formatting. There is
> an
> extensive discussion of global and property variables throughout the book.
> There is also a slight misquote. The book explains:
> 
> "Note these differences [in example 12-8] from the procedural version [of
> the timer shown earlier] in Example 12-5:
> 
> <i>Property</i> variables (beginning with the letter "p" for clarity) are
> used instead of <i>global</i> variables. Properties are declared with the
> keyword  <i>property</i>, and can contain a different value for each
> instance of the object (that is, each timer). If we used globals, multiple
> timers would trample the values held in the globals.
> 
> Here's what I mean:
> 
> By definition, globals (i.e. global variables) are shared among every
> piece
> of Lingo that uses them. Therefore, if I change a global variable called
> "gCurrentTime", it affects every place that it is used. Thus, you couldn't
> create multiple independent timers that used a single global variable (all
> timers would always "share" the same time). If you wanted to implement 3
> independent timers using global variables, you'd need a separate global
> variable for each one (such as "gCurrentTime1", "gCurrentTime2" and
> "gCurrentTime3"), which is very annoying and inefficient.
> 
> When you want to create multiple similar things that are independent, it
> is
> usually a good idea to use property variables. In the example, to create a
> "reusable timer" we can declare "pCurrentTime" as a property variable.
> When
> we create separate timers from a timer object (as explained in the book),
> each timer gets its own *copy* of pCurrentTime. Lingo handles the
> book-keeping for you automatically so that each "instance" of the timer
> can
> easily access its own pCurrentTime.
> 
> Does that clarify things?
> 
> Regards,
> Bruce
> 
> 
> 
> 
> 
> -----
> "Dreamweaver in a Nutshell" published by O'Reilly & Associates.
> Co-authored by Bruce Epstein and Heather Williamson
> http://www.amazon.com/exec/obidos/ASIN/0596002394/ref%3Dnosim/zeusproducti
> ons
> Sample chapter:
> http://www.oreilly.com/catalog/dreamweavernut/chapter/ch06.html
> -----
> 
> 
> 
> [To remove yourself from this list, or to change to digest mode, go to
> http://www.penworks.com/LUJ/lingo-l.cgi  To post messages to the list,
> email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED])
> Lingo-L is for learning and helping with programming Lingo.  Thanks!]
> 
> 

[To remove yourself from this list, or to change to digest mode, go to
http://www.penworks.com/LUJ/lingo-l.cgi  To post messages to the list,
email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED])
Lingo-L is for learning and helping with programming Lingo.  Thanks!]

Reply via email to