如何从 vim 中的函数中捕获 return 值?

How to capture return value from function in vim?

示例:

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

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

如果Include()中的return被调用我想停止执行MyFunction() 还有。

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

但是如何检查 MyFunction()Include() 的 return 值??

P.e。在这种情况下,如何从 MyFunction() 中的 Include() 捕获 return 值“0”?

函数可以用作表达式;因此您可以简单地将 Include() 的 return 值存储在变量中或在条件中使用它:

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