如何从vim函数中获取返回值?

时间:2016-01-18 15:35:26

标签: vim return return-value capture

示例:

function! MyFunction()
  exe 'call Include("'.mykeyw.'")'
  Return value???
endfunction

function! Include(keyw)
   if condition == ""
     return 0
   endif
endfunction

如果调用了return中的Include(),我想停止执行MyFunction() 同样。

似乎除了检查MyFunction中return的return语句中的Include()值之外别无其他。

但是如何在Include() ??

中检查MyFunction()的返回值

体育专业。在这种情况下,如何捕获return值' 0' 0来自Include()的{​​{1}}?

1 个答案:

答案 0 :(得分:7)

函数可以用作表达式;因此,您只需将Include()的返回值存储在变量中,或在条件中使用它:

function! MyFunction()
  let value = Include(mykeyw)    " stored as a variable
                                 " or
  if Include(mykeyw) == 1        " used in a conditional
    echo "Yay!"
  else
    echo "Nay!"
  endif
endfunction

function! Include(keyw)
  if condition == ""
    return 0
  endif
endfunction