From 7ee395d918b97795f151c24ed877bfcc2edf602a Mon Sep 17 00:00:00 2001 From: Li Jin Date: Thu, 25 Dec 2025 00:00:08 +0800 Subject: Added named vararg support. --- spec/inputs/vararg.yue | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) (limited to 'spec/inputs') diff --git a/spec/inputs/vararg.yue b/spec/inputs/vararg.yue index 6100250..4f8a0d7 100644 --- a/spec/inputs/vararg.yue +++ b/spec/inputs/vararg.yue @@ -86,3 +86,47 @@ join = (...) -> print ... nil +do + f1 = (...t) -> + print t.n + print #t + for i = 1, t.n + print t[i] + + f1 1, 2, 3 + f1 "a", "b", "c", "d" + f1! + + f2 = (...args) -> + print "args count:", args.n + print "args length:", #args + for i = 1, args.n + if args[i] == nil + print "position", i, "is nil" + else + print "position", i, ":", args[i] + + f2 1, nil, 3, nil, 5 + + f3 = (prefix, ...items) -> + result = {} + for i = 1, items.n + result[i] = prefix .. tostring items[i] + result + + f3 "item_", 1, 2, 3 + + f4 = (...empty) -> + print "empty count:", empty.n + print "empty length:", #empty + + f4! + + process = (...data) -> + sum = 0 + for i = 1, data.n + if type(data[i]) == "number" + sum += data[i] + sum + + process 1, 2, 3, "skip", 5 -- cgit v1.2.3-55-g6feb