如何将varargs传递给vimscript中的另一个函数?
我想为插件的函数编写一个包装器,但它使用varargs(如何将varargs传递给vimscript中的另一个函数?,vim,variadic-functions,Vim,Variadic Functions,我想为插件的函数编写一个包装器,但它使用varargs(…)。如何将函数接收到的相同参数传递给插件的函数 例如: function! PluginInterface(...) for i in a:000 echo i endfor endfunction function! MyInterface(...) echo a:1 . ' is great' call PluginInterface(a:000) endfunction echo
…
)。如何将函数接收到的相同参数传递给插件的函数
例如:
function! PluginInterface(...)
for i in a:000
echo i
endfor
endfunction
function! MyInterface(...)
echo a:1 . ' is great'
call PluginInterface(a:000)
endfunction
echo '>> Their call'
call PluginInterface('hello', 'world')
echo '>> My call'
call MyInterface('hello', 'world')
不要直接调用函数(
callplugininterface(a:000)
),而是使用call()
:
(这看起来很奇怪,但是call()
是一个函数,因此您仍然必须在它前面加上:call
或let x=
或接受表达式的东西)
请参阅:help call()
call call("PluginInterface", a:000)
call call(function("PluginInterface"), a:000)