gpt4 book ai didi

vim - 使用列表或 splat 参数调用函数

转载 作者:行者123 更新时间:2023-12-04 00:52:43 24 4
gpt4 key购买 nike

有没有办法用参数列表调用 vim 函数。我的参数列表来自另一个函数中的可选 splat 参数,我需要一种方法将这些参数传递给目标函数。

目标函数是,

function! run_hello(cmd, ...)
echo 'run_hello'
echo a:cmd
echo a:000
endfunction

将调用 run_hello 的函数是,
function! hello(...)
call run_hello('foo', the splats here)
endfunction

它将像这样调用,具有不同的参数。
call hello('lorem', 'ipsum', 'dolor')

我目前正在使用 hello(arglist)并通过 a:000向前列出。但是我想知道是否可以使用列表作为参数调用函数,然后成为常规参数列表。

类似于 JavaScript 的东西,
foo.apply(this, ['a', 'b', 'c']

谢谢。

最佳答案

相当于 JavaScript 的 apply()call()在 Vimscript 中:

function! hello(...)
call call('run_hello', ['foo'] + a:000)
endfunction

这不是错别字:你 :call名为 call() 的函数.

关于vim - 使用列表或 splat 参数调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18249792/

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