diff options
| author | Li Jin <dragon-fly@qq.com> | 2025-12-25 09:38:59 +0800 |
|---|---|---|
| committer | Li Jin <dragon-fly@qq.com> | 2025-12-25 09:38:59 +0800 |
| commit | 3c8531d33e1de84a7c5f70e0a4cb3d95e7a44c0a (patch) | |
| tree | 3186508cdd74df352657032bb6c640acf40a45e3 /doc/docs/zh | |
| parent | 81daa7f89527e4bf8cf7ee4fdcec3f642ae508da (diff) | |
| download | yuescript-3c8531d33e1de84a7c5f70e0a4cb3d95e7a44c0a.tar.gz yuescript-3c8531d33e1de84a7c5f70e0a4cb3d95e7a44c0a.tar.bz2 yuescript-3c8531d33e1de84a7c5f70e0a4cb3d95e7a44c0a.zip | |
Updated docs. [skip CI]
Diffstat (limited to 'doc/docs/zh')
| -rwxr-xr-x | doc/docs/zh/doc/README.md | 98 |
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 | ||
| 1534 | f = (...t) -> | ||
| 1535 | print "参数个数:", t.n | ||
| 1536 | print "表长度:", #t | ||
| 1537 | for i = 1, t.n | ||
| 1538 | print t[i] | ||
| 1539 | |||
| 1540 | f 1, 2, 3 | ||
| 1541 | f "a", "b", "c", "d" | ||
| 1542 | f! | ||
| 1543 | |||
| 1544 | -- 处理包含 nil 的情况 | ||
| 1545 | process = (...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 | |||
| 1552 | process 1, nil, 3, nil, 5 | ||
| 1553 | ``` | ||
| 1554 | <YueDisplay> | ||
| 1555 | <pre> | ||
| 1556 | f = (...t) -> | ||
| 1557 | print "参数个数:", t.n | ||
| 1558 | print "表长度:", #t | ||
| 1559 | for i = 1, t.n | ||
| 1560 | print t[i] | ||
| 1561 | |||
| 1562 | f 1, 2, 3 | ||
| 1563 | f "a", "b", "c", "d" | ||
| 1564 | f! | ||
| 1565 | |||
| 1566 | -- 处理包含 nil 的情况 | ||
| 1567 | process = (...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 | |||
| 1574 | process 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 | ||
| 2196 | f = (...t) -> | ||
| 2197 | print "参数个数:", t.n | ||
| 2198 | print "表长度:", #t | ||
| 2199 | for i = 1, t.n | ||
| 2200 | print t[i] | ||
| 2201 | |||
| 2202 | f 1, 2, 3 | ||
| 2203 | f "a", "b", "c", "d" | ||
| 2204 | f! | ||
| 2205 | |||
| 2206 | -- 处理包含 nil 的情况 | ||
| 2207 | process = (...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 | |||
| 2214 | process 1, nil, 3, nil, 5 | ||
| 2215 | ``` | ||
| 2216 | <YueDisplay> | ||
| 2217 | <pre> | ||
| 2218 | f = (...t) -> | ||
| 2219 | print "参数个数:", t.n | ||
| 2220 | print "表长度:", #t | ||
| 2221 | for i = 1, t.n | ||
| 2222 | print t[i] | ||
| 2223 | |||
| 2224 | f 1, 2, 3 | ||
| 2225 | f "a", "b", "c", "d" | ||
| 2226 | f! | ||
| 2227 | |||
| 2228 | -- 处理包含 nil 的情况 | ||
| 2229 | process = (...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 | |||
| 2236 | process 1, nil, 3, nil, 5 | ||
| 2237 | </pre> | ||
| 2238 | </YueDisplay> | ||
| 2239 | |||
| 2240 | ## 反向回调 | 2240 | ## 反向回调 |
| 2241 | 2241 | ||
| 2242 | 反向回调用于减少函数回调的嵌套。它们使用指向左侧的箭头,并且默认会被定义为传入后续函数调用的最后一个参数。它的语法大部分与常规箭头函数相同,只是它指向另一方向,并且后续的函数体不需要进行缩进。 | 2242 | 反向回调用于减少函数回调的嵌套。它们使用指向左侧的箭头,并且默认会被定义为传入后续函数调用的最后一个参数。它的语法大部分与常规箭头函数相同,只是它指向另一方向,并且后续的函数体不需要进行缩进。 |
