【问题标题】:How to capture return value from function in vim?如何从vim中的函数捕获返回值?
【发布时间】:2016-04-23 20:18:06
【问题描述】:

例子:

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() 的返回值??

体育在这种情况下,如何从MyFunction() 中的Include() 捕获return 值'0'?

【问题讨论】:

    标签: vim return return-value capture


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-11-23
      • 1970-01-01
      • 2014-01-23
      • 1970-01-01
      • 1970-01-01
      • 2016-09-09
      • 1970-01-01
      相关资源
      最近更新 更多