Подтвердить что ты не робот

Значение по умолчанию параметра функции в Vim script

Как указать значение по умолчанию (например, 0, Нет) для параметра в Vim script?

4b9b3361

Ответ 1

В документах, кажется, что аргументы не могут иметь значения по умолчанию в Vim script. Однако вы можете эмулировать это, задав функцию с переменным числом аргументов и используя a:0, чтобы определить количество дополнительных аргументов и a:1 через a:n для доступа к ним:

function Foo(bar, ...)
  if a:0 > 0
    let xyzzy = a:1
  else
    let xyzzy = 0
  end
endfunction

Ответ 2

Вы можете использовать get, чтобы выбрать аргумент в определенной позиции или значение по умолчанию, если оно отсутствует.

function! Foo(bar, ...)
    let baz = get(a:, 1, 0)
endfunction