Значение по умолчанию параметра функции в скрипте Vim - PullRequest
23 голосов
/ 26 мая 2011

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

Ответы [ 2 ]

35 голосов
/ 26 мая 2011

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

function Foo(bar, ...)
  if a:0 > 0
    let xyzzy = a:1
  else
    let xyzzy = 0
  end
endfunction
7 голосов
/ 07 января 2018

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

function! Foo(bar, ...)
    let baz = get(a:, 1, 0)
endfunction
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...