我正在尝试编写一个函数,它调用多个接受命名参数的函数。我希望A函数能够将参数以args形式汇总,并将匹配的参数传递给它所调用的函数。
function A(x, y; args...)
B(x; args...)
C(y; args...)
end
function B(x; a=0)
println(x,a)
end
function C(y; a=0, b=0)
println(y,a,b)
end
funcA(1, 2) # Works
funcA(1, 2, a=1) # Works
funcA(1, 2, a=1, b=1) # Error: unrecognized keyword argument "b"
如何让这个工作成为首选方案?在B的参数列表中添加"args..."可以修复错误,但我不确定这是否是一个好主意(例如,是否存在任何性能损失)。