差别
这里会显示出您选择的修订版和当前版本之间的差别。
| 两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
| wiki:reference:grammar:namespace:main_page [2021/06/19 21:27] – mikecovlee | wiki:reference:grammar:namespace:main_page [2021/06/19 21:56] (当前版本) – mikecovlee | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| + | ====== Covariant Script 作用域和命名空间 ====== | ||
| + | ----- | ||
| + | \\ | ||
| + | ===== 4.1 定义(definition) ===== | ||
| + | |||
| + | <code python> | ||
| + | block | ||
| + | 语句块 | ||
| + | end | ||
| + | </ | ||
| + | \\ | ||
| + | |||
| + | |||
| + | ===== 定义一个临时作用域 ===== | ||
| + | |||
| + | 临时作用域中的变量会在离开作用域后销毁 | ||
| + | |||
| + | <code csharp> | ||
| + | namespace 命名空间名 | ||
| + | 语句块 | ||
| + | end | ||
| + | </ | ||
| + | \\ | ||
| + | |||
| + | ==== 定义一个命名空间 ==== | ||
| + | |||
| + | 命名空间中只允许引入其他命名空间,变量定义,函数定义,类型定义以及命名空间定义 | ||
| + | |||
| + | <code csharp> | ||
| + | using 命名空间名 | ||
| + | </ | ||
| + | |||
| + | 引入一个命名空间,这将会在当前作用域中建立引入的命名空间中所有变量的引用 | ||
| + | ----- | ||
| + | \\ | ||
| + | |||
| + | |||
| + | ===== 4.2 名称查找 ===== | ||
| + | |||
| + | ==== 变量名 ==== | ||
| + | |||
| + | === 从最上层作用域开始向下查找变量 === | ||
| + | |||
| + | <code java> | ||
| + | local.变量名 | ||
| + | </ | ||
| + | \\ | ||
| + | |||
| + | === 查找当前作用域中的变量 === | ||
| + | |||
| + | <code python> | ||
| + | global.变量名 | ||
| + | </ | ||
| + | \\ | ||
| + | |||
| + | === 查找全局作用域中的变量 === | ||
| + | |||
| + | <code java> | ||
| + | 命名空间名.变量名 | ||
| + | </ | ||
| + | \\ | ||
| + | |||
| + | === 查找命名空间中的变量 === | ||
| + | |||
| + | <code java> | ||
| + | 变量名.变量名 | ||
| + | </ | ||
| + | \\ | ||
| + | |||
| + | === 查找结构体或扩展中的变量 === | ||
| + | |||
| + | 作用域结构以及变量查找方式如图所示 | ||
| + | |||
| + | {{: | ||
| + | |||
| + | < | ||
| + | <div style=" | ||
| + | |||
| + | < | ||
| + | 也就是说:< | ||
| + | 除此之外,支持扩展的类型将自动调用无参数的成员访问函数(无需填写任何参数)< | ||
| + | 也就是说:< | ||
| + | 这种< | ||
| + | </ | ||
| + | </ | ||