NameSpace copy

From Wiki
Revision as of 23:22, 16 August 2005 by 196.3.50.254 (Talk)

Jump to: navigation, search

nameSpace copy

Namespace commands

Synopsis

nameSpace copy {filter} {from | to} {local | global} {namespace name}

Description

(Added in 1.40) The Namespace copy command allows to copy all or part of variables within a namespace into another. The {filter} parameter is use to specify which variables should be copied and accepts two special characters "?" and "*".

The "?" character matches any single character and can be use multiple times within one {filter} expression. I.e. "return?" will match any variable whose name start with "return" and has one additional character.

The "*" character matches zero or more unspecified character. It can only appear but once within a {filter} expression. I.e. "return*" will match any variable whose name start with "return".

The {from | to} parameter defines the direction for the copy, while the {local | global} {namespace name} parameters define the name and scope of the Namespace to be used.

From: copies variables from the specified Namespace into the current Namespace.

To: copies variables from the current Namespace into the specified namespace. If the specified Namespace doesn't exist at this time, it will be created.

The default Namespace is local and named STD. This setting is restored when the script is stopped.

Note: Currently only Local scope is available. Global scope is to be introduced in a future version of EasyUO.

Example

set !return ; make sure !return is empty
gosub test
display ok !return
halt

sub test
	nameSpace Push ; saves current namespace
	nameSpace Local Test ; create a new temporary namespace to work with
	set !return this_is_a_test
	nameSpace Pop ; restore previous namespace
	nameSpace Copy ret* From Local Test ; copy variables to the original namespace
	nameSpace Push ; saves current namespace
	nameSpace Local Test
	nameSpace Clear ; free memory used by temporary namespace
	nameSpace Pop ; restore previous namespace
return

See Also

nameSpace local nameSpace clear nameSpace global nameSpace push nameSpace pop #nsType #nsName

Main_Page Documentation

Namespace