diff options
| author | Li Jin <dragon-fly@qq.com> | 2025-12-25 00:00:08 +0800 |
|---|---|---|
| committer | Li Jin <dragon-fly@qq.com> | 2025-12-25 00:00:08 +0800 |
| commit | 7ee395d918b97795f151c24ed877bfcc2edf602a (patch) | |
| tree | 0fbb5f4d3011ee6459e011416a1307d74cf331a7 /doc/docs/zh | |
| parent | bb563257953628a9849c8532a684b5064bf8e655 (diff) | |
| download | yuescript-7ee395d918b97795f151c24ed877bfcc2edf602a.tar.gz yuescript-7ee395d918b97795f151c24ed877bfcc2edf602a.tar.bz2 yuescript-7ee395d918b97795f151c24ed877bfcc2edf602a.zip | |
Added named vararg support.
Diffstat (limited to 'doc/docs/zh')
| -rwxr-xr-x | doc/docs/zh/doc/README.md | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/doc/docs/zh/doc/README.md b/doc/docs/zh/doc/README.md index b348e06..34d577c 100755 --- a/doc/docs/zh/doc/README.md +++ b/doc/docs/zh/doc/README.md | |||
| @@ -1526,6 +1526,55 @@ 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 | |||
| 1529 | ## 空白 | 1578 | ## 空白 |
| 1530 | 1579 | ||
| 1531 | 月之脚本是一个对空白敏感的语言。你必须在相同的缩进中使用空格 **' '** 或制表符 **'\t'** 来编写一些代码块,如函数体、值列表和一些控制块。包含不同空白的表达式可能意味着不同的事情。制表符被视为4个空格,但最好不要混合使用空格和制表符。 | 1580 | 月之脚本是一个对空白敏感的语言。你必须在相同的缩进中使用空格 **' '** 或制表符 **'\t'** 来编写一些代码块,如函数体、值列表和一些控制块。包含不同空白的表达式可能意味着不同的事情。制表符被视为4个空格,但最好不要混合使用空格和制表符。 |
