Revise package terminology.
This commit is contained in:
@@ -15,18 +15,20 @@ allow combining all functions in one [`AST`] into another, forming a new, unifie
|
||||
|
||||
In general, there are two types of _namespaces_ where functions are looked up:
|
||||
|
||||
| Namespace | How Many | Source | Lookup method | Sub-modules? | Variables? |
|
||||
| --------- | :------: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------- | :----------: | :--------: |
|
||||
| Global | One | 1) [`AST`] being evaluated<br/>2) `Engine::register_XXX` API<br/>3) global [modules] loaded via `Engine::register_global_module`<br/>4) functions in static [modules] loaded via `Engine::register_static_module` and marked _global_ | simple function name | ignored | ignored |
|
||||
| Module | Many | [`Module`] | namespace-qualified function name | yes | yes |
|
||||
| Namespace | How Many | Source | Lookup | Sub-modules? | Variables? |
|
||||
| --------- | :------: | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------ | :----------: | :--------: |
|
||||
| Global | One | 1) [`AST`] being evaluated<br/>2) `Engine::register_XXX` API<br/>3) global [modules] registered via `Engine::register_global_module`<br/>4) functions in static [modules] registered via `Engine::register_static_module` and marked _global_ | simple name | ignored | ignored |
|
||||
| Module | Many | 1) [Module] registered via `Engine::register_static_module`<br/>2) [Module] loaded via [`import`] statement | namespace-qualified name | yes | yes |
|
||||
|
||||
|
||||
Module Namespace
|
||||
----------------
|
||||
Module Namespaces
|
||||
-----------------
|
||||
|
||||
There can be multiple module namespaces at any time during a script evaluation, loaded via the
|
||||
There can be multiple module namespaces at any time during a script evaluation, usually loaded via the
|
||||
[`import`] statement.
|
||||
|
||||
_Static_ module namespaces can also be registered into an [`Engine`] via `Engine::register_static_module`.
|
||||
|
||||
Functions and variables in module namespaces are isolated and encapsulated within their own environments.
|
||||
|
||||
They must be called or accessed in a _namespace-qualified_ manner.
|
||||
@@ -55,8 +57,8 @@ There is one _global_ namespace for every [`Engine`], which includes (in the fol
|
||||
* All functions and iterators defined in global [modules] that are registered into the [`Engine`] via
|
||||
`Engine::register_global_module`.
|
||||
|
||||
* Functions defined in [modules] loaded via `Engine::register_static_module` that are specifically marked
|
||||
for exposure to the global namespace (e.g. via the `#[rhai(global)]` attribute in a [plugin module]).
|
||||
* Functions defined in [modules] registered via `Engine::register_static_module` that are specifically
|
||||
marked for exposure to the global namespace (e.g. via the `#[rhai(global)]` attribute in a [plugin module]).
|
||||
|
||||
Anywhere in a Rhai script, when a function call is made, the function is searched within the
|
||||
global namespace, in the above search order.
|
||||
|
Reference in New Issue
Block a user