BEGIN: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
No edit summary |
||
| Line 20: | Line 20: | ||
If you do not want to see the double colons in the output of [[PRINTVAL]], you need to specify <code>autoformat=true</code>. | 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}.