У меня есть несколько функций, которые я вызываю этой командой:Как выйти из цепочки функций?
Function DoThisOrThat()
let mysubs="function1,function3"
exe 'call SUB_Dispatch("'.mysubs.'")'
do this or that
Endfunction
function! SUB_Dispatch(list_subs)
let mysubs = split(a:list_subs, ',')
if index(mysubs, "function1") != "-1"
exe 'call Sub_Function1()'
endif
if index(mysubs, "function2") != "-1"
exe 'call Sub_Function2()'
endif
if index(mysubs, "function3") != "-1"
exe 'call Sub_Function3()'
endif
etc..
endfunction
В Function1,2 и 3 есть, если/иначе, как тезисы:
If ....
do this
else
return
endif
return
Если команда в Sub_Function1 является вызывается, он продолжает выполнять другие функции.
Есть ли команда, чтобы остановить выполнение vim всех команд, если есть return
?
Ваш код может выиграть от использования _Funcrefs_, а не для объединения идентификаторов с функциями через 'if..else ...' В целом, этот абстрактный пример выглядит чрезмерно сложным меня. –