gpt4 book ai didi

vim - 如何将可变参数传递给 vimscript 中的另一个函数?

转载 作者:行者123 更新时间:2023-12-04 03:01:45 27 4
gpt4 key购买 nike

我想为插件的函数编写一个包装器,但它使用可变参数( ... )。如何将我的函数接收到的相同参数传递给插件的函数?

例子:

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')

最佳答案

不要直接调用函数( call PluginInterface(a:000) ),而是使用 call() :

call call("PluginInterface", a:000)
call call(function("PluginInterface"), a:000)

(这看起来很奇怪,但 call() 是一个函数,所以你仍然需要在它前面加上 :calllet x = 或接受 expr 的东西。)

:help call() .

关于vim - 如何将可变参数传递给 vimscript 中的另一个函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11703297/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com