如何在vim中捕获函数的返回值?

10

示例:

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

function! Include(keyw)
   if condition == ""
     return 0
   endif
endfunction
如果在Include()中调用return,我也希望停止执行MyFunction()
似乎除了检查Include()中的返回语句的return值以外,没有其他方法在MyFunction()中实现此操作。
但是如何检查MyFunction()中来自Include()return值?例如,在这种情况下,如何在MyFunction()中捕获Include()return值'0'?
1个回答

14

函数可以用作表达式,因此您可以将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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接