Namespace

Associated Constructors

New Namespace

Syntax: ns = New Namespace( <name>, <list of expressions> )

Description: Creates a namespace where all functions and variables created are defined only within the specified name.


nsref = New Namespace(
    "Add Class"
);
Add Class:nObs = 20;
Add Class:addition = Function( {x, y}, x + y );
Add Class:append = Function( {a, b},
    Char( a ) || " + " || Char( b )
);

Item Messages

Contains

Syntax: obj << Contains( string )

Description: Returns a 1 if the namespace contains the specified string expression, or a 0 otherwise.


nsref = New Namespace(
    "Add Class"
);
Add Class:nObs = 20;
Add Class:addition = Function( {x, y}, x + y );
Add Class:append = Function( {a, b},
    Char( a ) || " + " || Char( b )
);
result = nsref << Contains( "nObs" );

Delete Namespace

Syntax: nsref << Delete Namespace( < Force( boolean ) > )

Description: Deletes this namespace.

JMP Version Added: 14


nsref = New Namespace(
    "Add Class"
);
Add Class:nObs = 20;
Add Class:addition = Function( {x, y}, x + y );
Add Class:append = Function( {a, b},
    Char( a ) || " + " || Char( b )
);
nsref << Delete Namespace;
Show( nsref );

First

Syntax: obj << First

Description: Returns the string expression for the first item in this namespace.


nsref = New Namespace(
    "Add Class"
);
Add Class:nObs = 20;
Add Class:addition = Function( {x, y}, x + y );
Add Class:append = Function( {a, b},
    Char( a ) || " + " || Char( b )
);
result = nsref << First;

Get Contents

Syntax: obj << Get Contents

Description: Returns a list of items within this namespace, where each element is a two item list containing a key and its associated value.


nsref = New Namespace(
    "Add Class"
);
Add Class:nObs = 20;
Add Class:addition = Function( {x, y}, x + y );
Add Class:append = Function( {a, b},
    Char( a ) || " + " || Char( b )
);
result = nsref << Get Contents;

Get Keys

Syntax: obj << Get Keys

Description: Returns a list of keys within this namespace, where a key is string representation of an individual item contained in the namespace.


nsref = New Namespace(
    "Add Class"
);
Add Class:nObs = 20;
Add Class:addition = Function( {x, y}, x + y );
Add Class:append = Function( {a, b},
    Char( a ) || " + " || Char( b )
);
result = nsref << Get Keys;

Get Name

Syntax: obj << Get Name

Description: Returns the name of this namespace.


nsref = New Namespace(
    "Add Class"
);
Add Class:nObs = 20;
Add Class:addition = Function( {x, y}, x + y );
Add Class:append = Function( {a, b},
    Char( a ) || " + " || Char( b )
);
space name = nsref << Get Name;

Get Value

Syntax: obj << Get Value( string )

Description: Returns the value of the specified item within this namespace. The "string" is the key to the item.


nsref = New Namespace(
    "Add Class"
);
Add Class:nObs = 20;
Add Class:addition = Function( {x, y}, x + y );
Add Class:append = Function( {a, b},
    Char( a ) || " + " || Char( b )
);
result = nsref << Get Value( "nObs" );

Get Values

Syntax: obj << Get Values

Description: Returns a list of values corresponding to each item within this namespace.


nsref = New Namespace(
    "Add Class"
);
Add Class:nObs = 20;
Add Class:addition = Function( {x, y}, x + y );
Add Class:append = Function( {a, b},
    Char( a ) || " + " || Char( b )
);
result = nsref << Get Values;

Insert

Syntax: obj << Insert( string, value )

Description: Inserts a string expression, with the specified value into this namespace.


nsref = New Namespace(
    "Add Class"
);
Add Class:nObs = 20;
Add Class:addition = Function( {x, y}, x + y );
Add Class:append = Function( {a, b},
    Char( a ) || " + " || Char( b )
);
nsref << Insert( "X", 25 );
Show( nsref );

Lock Namespace

Syntax: obj << Lock Namespace( <string, | {string, ...}>* )

Description: Locks all variables or specified named variables in this namespace and prevents variables from being added, changed, or removed.

JMP Version Added: 14


nsref = New Namespace(
    "Add Class"
);
Add Class:nObs = 20;
Add Class:addition = Function( {x, y}, x + y );
Add Class:append = Function( {a, b},
    Char( a ) || " + " || Char( b )
);
nsref << Lock Namespace;
Try( Add Class:nObs = 40, "Add Class is locked." );

N Items

Syntax: obj << N Items

Description: Returns the number of items contains in this namespace.


nsref = New Namespace(
    "Add Class"
);
Add Class:nObs = 20;
Add Class:addition = Function( {x, y}, x + y );
Add Class:append = Function( {a, b},
    Char( a ) || " + " || Char( b )
);
n = nsref << N Items;

Next

Syntax: obj << Next( string )

Description: Returns the string expression for the next item following the key specified in this namespace.


nsref = New Namespace(
    "Add Class"
);
Add Class:nObs = 20;
Add Class:addition = Function( {x, y}, x + y );
Add Class:append = Function( {a, b},
    Char( a ) || " + " || Char( b )
);
result = nsref << Next( "addition" );

Remove

Syntax: obj << Remove( <string | {string, ...}>* )

Description: Removes the specified string expression from the namespace.


nsref = New Namespace(
    "Add Class"
);
Add Class:nObs = 20;
Add Class:addition = Function( {x, y}, x + y );
Add Class:append = Function( {a, b},
    Char( a ) || " + " || Char( b )
);
nsref << Remove( "nObs" );
Show( nsref );

Show Contents

Syntax: obj << Show Contents

Description: Shows the contents of a namespace in the JMP log.


nsref = New Namespace(
    "Add Class"
);
Add Class:nObs = 20;
Add Class:addition = Function( {x, y}, x + y );
Add Class:append = Function( {a, b},
    Char( a ) || " + " || Char( b )
);
result = nsref << Show Contents;

Unlock Namespace

Syntax: obj << Unlock Namespace( <string | {string, ...}>* )

Description: Unlocks a previously locked namespace with all variables locked in this namespace and prevented variables from being added, changed, or removed.

JMP Version Added: 14


nsref = New Namespace(
    "Add Class"
);
Add Class:nObs = 20;
Add Class:addition = Function( {x, y}, x + y );
Add Class:append = Function( {a, b},
    Char( a ) || " + " || Char( b )
);
nsref << Lock Namespace( "nObs" );
Try( Add Class:nObs = 30, Show( "Add Class is locked." ) ); 
//Try again after unlocking. 
nsref << Unlock Namespace( "nObs" );
Try( Add Class:nObs = 40, Show( "Add Class is locked." ) );