Difference between revisions of "NAMESPACE"
Yvonnemilne (Talk | contribs) |
Yvonnemilne (Talk | contribs) |
||
Line 4: | Line 4: | ||
==Syntax== | ==Syntax== | ||
− | NAMESPACE <namespace name> | + | NAMESPACE [<namespace name>] |
Line 13: | Line 13: | ||
==Description== | ==Description== | ||
The NAMESPACE command declares a namespace and creates a dynamic array which can be referenced by the <namespace name>. After declaration of a namespace, any [[PUBLIC]] variables declared are attached to that namespace, becoming members of the array. This allows the creation of multiple [[PUBLIC]] variables with the same name, provided each belongs to a separate namespace. | The NAMESPACE command declares a namespace and creates a dynamic array which can be referenced by the <namespace name>. After declaration of a namespace, any [[PUBLIC]] variables declared are attached to that namespace, becoming members of the array. This allows the creation of multiple [[PUBLIC]] variables with the same name, provided each belongs to a separate namespace. | ||
+ | |||
+ | Issuing NAMESPACE without a <namespace name> deactivates any current namespace. | ||
The currently active namespace can be determined using the NAMESPACE() function. | The currently active namespace can be determined using the NAMESPACE() function. | ||
Line 36: | Line 38: | ||
? namespace1.pub1 | ? namespace1.pub1 | ||
? namespace2.pub1 | ? namespace2.pub1 | ||
+ | namespace | ||
+ | messagebox("Namespace is " + namespace()) | ||
+ | public pub1 = "Public variable, no namespace active" | ||
+ | ? pub1 | ||
? | ? | ||
</code> | </code> | ||
Line 54: | Line 60: | ||
Public variable declared in proc1 | Public variable declared in proc1 | ||
− | Public variable declared in proc2 | + | Public variable declared in proc2 |
+ | Public variable, no namespace active | ||
</pre> | </pre> | ||
Latest revision as of 13:12, 5 July 2011
Purpose
Declare a namespace to which all public memory variable will be attached while the namespace is active
Syntax
NAMESPACE [<namespace name>]
See Also
ARRAY(), DECLARE, DIMENSION, LOCAL, NAMESPACE(), PARAMETERS, PRIVATE, PUBLIC, SET COMPATIBLE, SET STRICT, STORE
Description
The NAMESPACE command declares a namespace and creates a dynamic array which can be referenced by the <namespace name>. After declaration of a namespace, any PUBLIC variables declared are attached to that namespace, becoming members of the array. This allows the creation of multiple PUBLIC variables with the same name, provided each belongs to a separate namespace.
Issuing NAMESPACE without a <namespace name> deactivates any current namespace.
The currently active namespace can be determined using the NAMESPACE() function.
Example
procedure proc1 namespace namespace1 messagebox("Namespace is " + namespace()) public pub1 = "Public variable declared in proc1" return procedure proc2 namespace namespace2 messagebox("Namespace is " + namespace()) public pub1 = "Public variable declared in proc2" return proc1() proc2() display memory ? namespace1.pub1 ? namespace2.pub1 namespace messagebox("Namespace is " + namespace()) public pub1 = "Public variable, no namespace active" ? pub1 ?
output
Namespaces: ------------------------ NAMESPACE1 Dynamic array (refcnt 2) .PUB1 Character 'Public variable declared in proc1' NAMESPACE2 Dynamic array (refcnt 2) .PUB1 Character 'Public variable declared in proc2' Memory Variables: ------------------------ ** Total of ** 4 variables defined and 298 bytes used. Public variable declared in proc1 Public variable declared in proc2 Public variable, no namespace active
Products
Recital, Recital Server