aboutsummaryrefslogtreecommitdiff
path: root/doc/docs/zh
diff options
context:
space:
mode:
authorLi Jin <dragon-fly@qq.com>2025-12-25 09:38:59 +0800
committerLi Jin <dragon-fly@qq.com>2025-12-25 09:38:59 +0800
commit3c8531d33e1de84a7c5f70e0a4cb3d95e7a44c0a (patch)
tree3186508cdd74df352657032bb6c640acf40a45e3 /doc/docs/zh
parent81daa7f89527e4bf8cf7ee4fdcec3f642ae508da (diff)
downloadyuescript-3c8531d33e1de84a7c5f70e0a4cb3d95e7a44c0a.tar.gz
yuescript-3c8531d33e1de84a7c5f70e0a4cb3d95e7a44c0a.tar.bz2
yuescript-3c8531d33e1de84a7c5f70e0a4cb3d95e7a44c0a.zip
Updated docs. [skip CI]
Diffstat (limited to 'doc/docs/zh')
-rwxr-xr-xdoc/docs/zh/doc/README.md98
1 files changed, 49 insertions, 49 deletions
diff --git a/doc/docs/zh/doc/README.md b/doc/docs/zh/doc/README.md
index 34d577c..de5dff1 100755
--- a/doc/docs/zh/doc/README.md
+++ b/doc/docs/zh/doc/README.md
@@ -1526,55 +1526,6 @@ print ok, count, first
1526</pre> 1526</pre>
1527</YueDisplay> 1527</YueDisplay>
1528 1528
1529### 命名变长参数
1530
1531你可以使用 `(...t) ->` 语法来将变长参数自动存储到一个命名表中。这个表会包含所有传入的参数(包括 `nil` 值),并且会在表的 `n` 字段中存储实际传入的参数个数(包括 `nil` 值在内的个数)。
1532
1533```moonscript
1534f = (...t) ->
1535 print "参数个数:", t.n
1536 print "表长度:", #t
1537 for i = 1, t.n
1538 print t[i]
1539
1540f 1, 2, 3
1541f "a", "b", "c", "d"
1542f!
1543
1544-- 处理包含 nil 的情况
1545process = (...args) ->
1546 sum = 0
1547 for i = 1, args.n
1548 if args[i] != nil and type(args[i]) == "number"
1549 sum += args[i]
1550 sum
1551
1552process 1, nil, 3, nil, 5
1553```
1554<YueDisplay>
1555<pre>
1556f = (...t) ->
1557 print "参数个数:", t.n
1558 print "表长度:", #t
1559 for i = 1, t.n
1560 print t[i]
1561
1562f 1, 2, 3
1563f "a", "b", "c", "d"
1564f!
1565
1566-- 处理包含 nil 的情况
1567process = (...args) ->
1568 sum = 0
1569 for i = 1, args.n
1570 if args[i] != nil and type(args[i]) == "number"
1571 sum += args[i]
1572 sum
1573
1574process 1, nil, 3, nil, 5
1575</pre>
1576</YueDisplay>
1577
1578## 空白 1529## 空白
1579 1530
1580月之脚本是一个对空白敏感的语言。你必须在相同的缩进中使用空格 **' '** 或制表符 **'\t'** 来编写一些代码块,如函数体、值列表和一些控制块。包含不同空白的表达式可能意味着不同的事情。制表符被视为4个空格,但最好不要混合使用空格和制表符。 1531月之脚本是一个对空白敏感的语言。你必须在相同的缩进中使用空格 **' '** 或制表符 **'\t'** 来编写一些代码块,如函数体、值列表和一些控制块。包含不同空白的表达式可能意味着不同的事情。制表符被视为4个空格,但最好不要混合使用空格和制表符。
@@ -2237,6 +2188,55 @@ findFirstEven = (list) ->
2237 2188
2238唯一的区别在于:你可以将函数的返回值表达式提前写在 `->` 或 `=>` 前,用以指示该函数应隐式返回该表达式的值。这样即使在多层循环或条件判断的场景下,也无需编写尾行悬挂的返回表达式,逻辑结构会更加直观清晰。 2189唯一的区别在于:你可以将函数的返回值表达式提前写在 `->` 或 `=>` 前,用以指示该函数应隐式返回该表达式的值。这样即使在多层循环或条件判断的场景下,也无需编写尾行悬挂的返回表达式,逻辑结构会更加直观清晰。
2239 2190
2191### 命名变长参数
2192
2193你可以使用 `(...t) ->` 语法来将变长参数自动存储到一个命名表中。这个表会包含所有传入的参数(包括 `nil` 值),并且会在表的 `n` 字段中存储实际传入的参数个数(包括 `nil` 值在内的个数)。
2194
2195```moonscript
2196f = (...t) ->
2197 print "参数个数:", t.n
2198 print "表长度:", #t
2199 for i = 1, t.n
2200 print t[i]
2201
2202f 1, 2, 3
2203f "a", "b", "c", "d"
2204f!
2205
2206-- 处理包含 nil 的情况
2207process = (...args) ->
2208 sum = 0
2209 for i = 1, args.n
2210 if args[i] != nil and type(args[i]) == "number"
2211 sum += args[i]
2212 sum
2213
2214process 1, nil, 3, nil, 5
2215```
2216<YueDisplay>
2217<pre>
2218f = (...t) ->
2219 print "参数个数:", t.n
2220 print "表长度:", #t
2221 for i = 1, t.n
2222 print t[i]
2223
2224f 1, 2, 3
2225f "a", "b", "c", "d"
2226f!
2227
2228-- 处理包含 nil 的情况
2229process = (...args) ->
2230 sum = 0
2231 for i = 1, args.n
2232 if args[i] != nil and type(args[i]) == "number"
2233 sum += args[i]
2234 sum
2235
2236process 1, nil, 3, nil, 5
2237</pre>
2238</YueDisplay>
2239
2240## 反向回调 2240## 反向回调
2241 2241
2242反向回调用于减少函数回调的嵌套。它们使用指向左侧的箭头,并且默认会被定义为传入后续函数调用的最后一个参数。它的语法大部分与常规箭头函数相同,只是它指向另一方向,并且后续的函数体不需要进行缩进。 2242反向回调用于减少函数回调的嵌套。它们使用指向左侧的箭头,并且默认会被定义为传入后续函数调用的最后一个参数。它的语法大部分与常规箭头函数相同,只是它指向另一方向,并且后续的函数体不需要进行缩进。