感谢楼上的回答,但是……
a:000 是个 List ,貌似没法扩展成实参列表,单个 List 参数和多个参数是不同的。
当然因为最多 20 个参数,所以我可以
代码: 全选
call s:B(a:1, a:2, a:3 ... a:20) " 这里 ... 代表 a:4 ~ a:19,不想写了……
但如果这些 a: 变量有哪个不存在,就会报错。
当然解决办法也不是完全没有,我只想到:
代码: 全选
if a:0 == 20
call s:B(a:1, a:2, a:3 ..., a:20)
else if a:0 == 19
call s:B(a:1, a:2, a:3 ..., a:19)
else if a:0 == 18
...
但这明显太蛋疼了……
Python 里要实现起来就很简单,而且也很常见于各种官方库和第三方库:
代码: 全选
class Child(Base)
def __init__(self, *args, **kwargs)
super(Base, self).__init__(*args, **kwargs)
Lua 里更简单,直接 ...
代码: 全选
function fA(...)
fB(...)
end
Vim 脚本里……不直接支持?