BEGIN: Difference between revisions

From iMath
Jump to navigation Jump to search
No edit summary
No edit summary
 
(One intermediate revision by the same user not shown)
Line 18: Line 18:
   ::a=8
   ::a=8
   ns_1::a=3
   ns_1::a=3
If you do not want to see the double colons in the output of [[PRINTVAL]], you need to specify <code>autoformat=true</code>.
To access a symbol with attributes, e.g. <code>vec F</code> from outside of its namespace, use curly braces to separate the namespace identifier from the symbol. For example, if <code>vec F</code> resides in namespace <code>ns_1</code>, from outside of this namespace you can reference it with <code>ns_1::{vec F}</code>.
|4=
|4=
[[END]]
[[END]]

Latest revision as of 17:51, 30 April 2023

Syntax

BEGIN symbol

Implemented in iMath since version 2.2.10.

Explanation

Begin a new namespace. Labels and variable names will automatically be prefixed with the namespace.

Example

Note that a leading double colon (::) references the global (top-level) namespace.

 %%ii @a@ EQDEF a=8
 %%ii BEGIN ns_1
 %%ii @ns_1::a@ EQDEF a=3
 %%ii PRINTVAL {a}
 %%ii PRINTVAL {::a}
 %%ii END ns_1
 %%ii PRINTVAL(ns_1::a}

This will print

 a=3
 ::a=8
 ns_1::a=3

If you do not want to see the double colons in the output of PRINTVAL, you need to specify autoformat=true.

To access a symbol with attributes, e.g. vec F from outside of its namespace, use curly braces to separate the namespace identifier from the symbol. For example, if vec F resides in namespace ns_1, from outside of this namespace you can reference it with ns_1::{vec F}.

See also

END