diff options
Diffstat (limited to 'doc/docs/zh/doc/assignment/assignment.md')
| -rw-r--r-- | doc/docs/zh/doc/assignment/assignment.md | 142 |
1 files changed, 142 insertions, 0 deletions
diff --git a/doc/docs/zh/doc/assignment/assignment.md b/doc/docs/zh/doc/assignment/assignment.md new file mode 100644 index 0000000..49561fb --- /dev/null +++ b/doc/docs/zh/doc/assignment/assignment.md | |||
| @@ -0,0 +1,142 @@ | |||
| 1 | # 赋值 | ||
| 2 | |||
| 3 |   月之脚本中定义的变量是动态类型的,并默认为局部变量。但你可以通过 **local** 和 **global** 声明来改变声明变量的作用范围。 | ||
| 4 | |||
| 5 | ```yuescript | ||
| 6 | hello = "world" | ||
| 7 | a, b, c = 1, 2, 3 | ||
| 8 | hello = 123 -- 访问现有的变量 | ||
| 9 | ``` | ||
| 10 | <YueDisplay> | ||
| 11 | |||
| 12 | ```yue | ||
| 13 | hello = "world" | ||
| 14 | a, b, c = 1, 2, 3 | ||
| 15 | hello = 123 -- 访问现有的变量 | ||
| 16 | ``` | ||
| 17 | |||
| 18 | </YueDisplay> | ||
| 19 | |||
| 20 | ## 执行更新 | ||
| 21 | |||
| 22 |   你可以使用各式二进制运算符执行更新赋值。 | ||
| 23 | |||
| 24 | ```yuescript | ||
| 25 | x = 1 | ||
| 26 | x += 1 | ||
| 27 | x -= 1 | ||
| 28 | x *= 10 | ||
| 29 | x /= 10 | ||
| 30 | x %= 10 | ||
| 31 | s ..= "world" -- 如果执行更新的局部变量不存在,将新建一个局部变量 | ||
| 32 | arg or= "默认值" | ||
| 33 | ``` | ||
| 34 | <YueDisplay> | ||
| 35 | |||
| 36 | ```yue | ||
| 37 | x = 1 | ||
| 38 | x += 1 | ||
| 39 | x -= 1 | ||
| 40 | x *= 10 | ||
| 41 | x /= 10 | ||
| 42 | x %= 10 | ||
| 43 | s ..= "world" -- 如果执行更新的局部变量不存在,将新建一个局部变量 | ||
| 44 | arg or= "默认值" | ||
| 45 | ``` | ||
| 46 | |||
| 47 | </YueDisplay> | ||
| 48 | |||
| 49 | ## 链式赋值 | ||
| 50 | |||
| 51 |   你可以进行链式赋值,将多个项目赋予相同的值。 | ||
| 52 | |||
| 53 | ```yuescript | ||
| 54 | a = b = c = d = e = 0 | ||
| 55 | x = y = z = f! | ||
| 56 | ``` | ||
| 57 | <YueDisplay> | ||
| 58 | |||
| 59 | ```yue | ||
| 60 | a = b = c = d = e = 0 | ||
| 61 | x = y = z = f! | ||
| 62 | ``` | ||
| 63 | |||
| 64 | </YueDisplay> | ||
| 65 | |||
| 66 | ## 显式声明局部变量 | ||
| 67 | |||
| 68 | ```yuescript | ||
| 69 | do | ||
| 70 | local a = 1 | ||
| 71 | local * | ||
| 72 | print "预先声明后续所有变量为局部变量" | ||
| 73 | x = -> 1 + y + z | ||
| 74 | y, z = 2, 3 | ||
| 75 | global instance = Item\new! | ||
| 76 | |||
| 77 | do | ||
| 78 | local X = 1 | ||
| 79 | local ^ | ||
| 80 | print "只预先声明后续大写的变量为局部变量" | ||
| 81 | a = 1 | ||
| 82 | B = 2 | ||
| 83 | ``` | ||
| 84 | <YueDisplay> | ||
| 85 | |||
| 86 | ```yue | ||
| 87 | do | ||
| 88 | local a = 1 | ||
| 89 | local * | ||
| 90 | print "预先声明后续所有变量为局部变量" | ||
| 91 | x = -> 1 + y + z | ||
| 92 | y, z = 2, 3 | ||
| 93 | global instance = Item\new! | ||
| 94 | |||
| 95 | do | ||
| 96 | local X = 1 | ||
| 97 | local ^ | ||
| 98 | print "只预先声明后续大写的变量为局部变量" | ||
| 99 | a = 1 | ||
| 100 | B = 2 | ||
| 101 | ``` | ||
| 102 | |||
| 103 | </YueDisplay> | ||
| 104 | |||
| 105 | ## 显式声明全局变量 | ||
| 106 | |||
| 107 | ```yuescript | ||
| 108 | do | ||
| 109 | global a = 1 | ||
| 110 | global * | ||
| 111 | print "预先声明所有变量为全局变量" | ||
| 112 | x = -> 1 + y + z | ||
| 113 | y, z = 2, 3 | ||
| 114 | |||
| 115 | do | ||
| 116 | global x = 1 | ||
| 117 | global ^ | ||
| 118 | print "只预先声明大写的变量为全局变量" | ||
| 119 | a = 1 | ||
| 120 | B = 2 | ||
| 121 | local Temp = "一个局部值" | ||
| 122 | ``` | ||
| 123 | <YueDisplay> | ||
| 124 | |||
| 125 | ```yue | ||
| 126 | do | ||
| 127 | global a = 1 | ||
| 128 | global * | ||
| 129 | print "预先声明所有变量为全局变量" | ||
| 130 | x = -> 1 + y + z | ||
| 131 | y, z = 2, 3 | ||
| 132 | |||
| 133 | do | ||
| 134 | global x = 1 | ||
| 135 | global ^ | ||
| 136 | print "只预先声明大写的变量为全局变量" | ||
| 137 | a = 1 | ||
| 138 | B = 2 | ||
| 139 | local Temp = "一个局部值" | ||
| 140 | ``` | ||
| 141 | |||
| 142 | </YueDisplay> | ||
