¿Cómo se especifica el valor predeterminado (por ejemplo, 0, Ninguno) para un parámetro en la secuencia de comandos de Vim?Valor predeterminado del parámetro de función en la secuencia de comandos de Vim
19
A
Respuesta
34
De los documentos, parece que los argumentos no pueden tener valores predeterminados en el script de Vim. Sin embargo, puede emular este mediante la definición de una función con número variable de argumentos, y el uso de a:0
para determinar el número de argumentos adicionales y a:1
través a:n
para acceder a ellos:
function Foo(bar, ...)
if a:0 > 0
let xyzzy = a:1
else
let xyzzy = 0
end
endfunction
1
Puede utilizar get para seleccionar un argumento en la posición específica o un valor predeterminado si no está presente.
function! Foo(bar, ...)
let baz = get(a:, 1, 0)
endfunction
Cuestiones relacionadas
- 1. valor predeterminado de parámetro de función
- 2. Valor predeterminado para el parámetro de función?
- 3. ¿Asincronizar la secuencia de comandos de vim?
- 4. Cambiar el grupo predeterminado en la secuencia de comandos
- 5. Pasando el valor de la secuencia de comandos PHP a la secuencia de comandos de Python
- 6. OpcionalAttribuir el valor predeterminado del parámetro?
- 7. Dónde está el parámetro predeterminado en la función de Python
- 8. ¿Es posible cambiar el valor del parámetro de la función?
- 9. Comandos interactivos de emacs con valor predeterminado
- 10. ¿Cuál es el valor predeterminado del atributo de juego de caracteres de una etiqueta de secuencia de comandos?
- 11. Función de llamada cuando finaliza la secuencia de comandos
- 12. Omita el mensaje de error "Patrón no encontrado" en la secuencia de comandos de Vim
- 13. ¿Se puede utilizar el resultado de una llamada de función como valor de parámetro predeterminado?
- 14. Valor predeterminado para los parámetros de función en VB6
- 15. devolver un solo valor de una función de secuencia de comandos shell
- 16. Valor de parámetro predeterminado en MVC 4 Web API
- 17. ¿Cómo establecer el valor predeterminado para un parámetro de función de tipo TEncoding?
- 18. Obtener el nombre de la función en la secuencia de comandos de KornShell
- 19. ¿Qué secuencia de comandos de Vim recomienda para verificar la sintaxis de Python sobre la marcha?
- 20. La secuencia de comandos PHP no puede obtenerse desde la secuencia de comandos de Python
- 21. Invocar una segunda secuencia de comandos con argumentos de una secuencia de comandos
- 22. comandos de vim en Eclipse
- 23. Parámetro predeterminado para una referencia de lista
- 24. Manejo de secuencia vacía en la función XSLT
- 25. Vim comandos de registro
- 26. ¿cómo detengo la ejecución en una secuencia de comandos python?
- 27. valor predeterminado del puntero.
- 28. orden de evaluación del parámetro de función
- 29. ¿Cómo probar el tipo de parámetro de rango en la secuencia de comandos de hoja de cálculo de Google?
- 30. Parámetro del valor de la tabla del Servidor SQL Php
Una versión corta que utiliza la declaración ternaria: 'let l: xyzzy = a: 0> 0? a: 1: 0'. – wting