diff options
Diffstat (limited to 'doc/docs/zh')
| -rwxr-xr-x | doc/docs/zh/doc/README.md | 93 |
1 files changed, 56 insertions, 37 deletions
diff --git a/doc/docs/zh/doc/README.md b/doc/docs/zh/doc/README.md index d316657..786892d 100755 --- a/doc/docs/zh/doc/README.md +++ b/doc/docs/zh/doc/README.md | |||
| @@ -926,43 +926,6 @@ tb = | |||
| 926 | 926 | ||
| 927 | 导入语句是一个语法糖,用于需要引入一个模块或者从已导入的模块中提取子项目。从模块导入的变量默认为不可修改的常量。 | 927 | 导入语句是一个语法糖,用于需要引入一个模块或者从已导入的模块中提取子项目。从模块导入的变量默认为不可修改的常量。 |
| 928 | 928 | ||
| 929 | #### 导入全局变量 | ||
| 930 | |||
| 931 | 在代码块顶部写 `import global`,会将当前作用域中尚未显式声明或赋值过的变量名,自动导入为本地常量,并在该语句的位置绑定到同名的全局变量。 | ||
| 932 | |||
| 933 | 但是在同一作用域中被显式声明为全局的变量不会被自动导入,因此可以继续进行赋值操作。 | ||
| 934 | |||
| 935 | ```moonscript | ||
| 936 | do | ||
| 937 | import global | ||
| 938 | print "hello" | ||
| 939 | math.random 3 | ||
| 940 | -- print = nil -- 报错:自动导入的全局变量为常量 | ||
| 941 | |||
| 942 | do | ||
| 943 | -- 被显式声明为全局的变量不会被自动导入 | ||
| 944 | import global | ||
| 945 | global FLAG | ||
| 946 | print FLAG | ||
| 947 | FLAG = 123 | ||
| 948 | ``` | ||
| 949 | <YueDisplay> | ||
| 950 | <pre> | ||
| 951 | do | ||
| 952 | import global | ||
| 953 | print "hello" | ||
| 954 | math.random 3 | ||
| 955 | -- print = nil -- 报错:自动导入的全局变量是常量 | ||
| 956 | |||
| 957 | do | ||
| 958 | -- 被显式声明为全局的变量不会被自动导入 | ||
| 959 | import global | ||
| 960 | global FLAG | ||
| 961 | print FLAG | ||
| 962 | FLAG = 123 | ||
| 963 | </pre> | ||
| 964 | </YueDisplay> | ||
| 965 | |||
| 966 | ```moonscript | 929 | ```moonscript |
| 967 | -- 用作表解构 | 930 | -- 用作表解构 |
| 968 | do | 931 | do |
| @@ -1014,6 +977,62 @@ do | |||
| 1014 | </pre> | 977 | </pre> |
| 1015 | </YueDisplay> | 978 | </YueDisplay> |
| 1016 | 979 | ||
| 980 | ### 导入全局变量 | ||
| 981 | |||
| 982 | 你可以使用 `import` 将指定的全局变量导入到本地变量中。当导入一系列对全局变量的链式访问时,最后一个访问的字段将被赋值给本地变量。 | ||
| 983 | |||
| 984 | ```moonscript | ||
| 985 | do | ||
| 986 | import tostring | ||
| 987 | import table.concat | ||
| 988 | print concat ["a", tostring 1] | ||
| 989 | ``` | ||
| 990 | <YueDisplay> | ||
| 991 | <pre> | ||
| 992 | do | ||
| 993 | import tostring | ||
| 994 | import table.concat | ||
| 995 | print concat ["a", tostring 1] | ||
| 996 | </pre> | ||
| 997 | </YueDisplay> | ||
| 998 | |||
| 999 | #### 自动导入 | ||
| 1000 | |||
| 1001 | 在一个代码块的顶部写 `import global`,会将当前作用域中尚未显式声明或赋值过的变量名,自动导入为本地常量,并在该语句的位置绑定到同名的全局变量。 | ||
| 1002 | |||
| 1003 | 但是在同一作用域中被显式声明为全局的变量不会被自动导入,因此可以继续进行赋值操作。 | ||
| 1004 | |||
| 1005 | ```moonscript | ||
| 1006 | do | ||
| 1007 | import global | ||
| 1008 | print "hello" | ||
| 1009 | math.random 3 | ||
| 1010 | -- print = nil -- 报错:自动导入的全局变量为常量 | ||
| 1011 | |||
| 1012 | do | ||
| 1013 | -- 被显式声明为全局的变量不会被自动导入 | ||
| 1014 | import global | ||
| 1015 | global FLAG | ||
| 1016 | print FLAG | ||
| 1017 | FLAG = 123 | ||
| 1018 | ``` | ||
| 1019 | <YueDisplay> | ||
| 1020 | <pre> | ||
| 1021 | do | ||
| 1022 | import global | ||
| 1023 | print "hello" | ||
| 1024 | math.random 3 | ||
| 1025 | -- print = nil -- 报错:自动导入的全局变量是常量 | ||
| 1026 | |||
| 1027 | do | ||
| 1028 | -- 被显式声明为全局的变量不会被自动导入 | ||
| 1029 | import global | ||
| 1030 | global FLAG | ||
| 1031 | print FLAG | ||
| 1032 | FLAG = 123 | ||
| 1033 | </pre> | ||
| 1034 | </YueDisplay> | ||
| 1035 | |||
| 1017 | ### 导出 | 1036 | ### 导出 |
| 1018 | 1037 | ||
| 1019 | 导出语句提供了一种简洁的方式来定义当前的模块。 | 1038 | 导出语句提供了一种简洁的方式来定义当前的模块。 |
