O'Reilly logo

Lingo in a Nutshell by Bruce A. Epstein

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 19. The Lingo Symbol Table

Director maintains a hidden table containing every keyword or “symbol” in use. In this context, symbol denotes any word Director recognizes, including “true” Lingo symbols that begin with a pound sign (#). (Refer to Chapter 18.) In point of fact, all recognized keywords are converted to symbols for storage in the Symbol Table. Thus, the keyword mouseUp is stored internally as #mouseUp. See "Symbols" in Chapter 5, for the party line regarding true Lingo symbols, which I will refer to as “Lingo symbols” in this chapter to indicate those items traditionally thought of as symbols.

The Symbol Table includes built-in symbols and keywords defined by Director itself, and symbols, variable names, handlers, and so on, defined by the programmer.

Tip

See the downloadable Chapter 22, Symbol Table Archaeology, at http://www.zeusprod.com/nutshell/chapters/symtable.html for many more details.

Why Do I Care?

You can use the Symbol Table for some neat stuff (which is what being a geek is all about).

  • Verify whether Director recognizes a particular keyword. This is useful when there is a typographical error in the documentation. For example, the FileIO Xtra’s documentation claims that it supports a method called getOSdir, which is actually named getOSdirectory. You can verify that getOSdir is not recognized by Director and therefore not a valid keyword.

  • Avoid overflowing the Symbol Table (applies only to Windows 3.1). If your movie suddenly starts behaving very oddly under ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required