Difference between revisions of "NAMESPACE"

From Lianjapedia
Jump to: navigation, search
(See Also)
(Description)
Line 14: Line 14:
  
 
The currently active namespace can be determined using the NAMESPACE() function.
 
The currently active namespace can be determined using the NAMESPACE() function.
 +
 +
The [[CLEAR NAMESPACE]] command is used to release namespace dynamic arrays.
  
 
==Example==
 
==Example==

Revision as of 06:57, 3 March 2021

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(), CLEAR NAMESPACE, DECLARE, DIMENSION, LOCAL, NAMESPACE(), PARAMETERS, PRIVATE, PUBLIC, 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.

The CLEAR NAMESPACE command is used to release namespace dynamic arrays.

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