Gambas3: parámetros opcionales con valores por defecto
A la hora de definir funciones o/y subrutinas (también nos sirve para los métodos de las clases), gambas3 nos permite poner parámetros opcionales, osea que no tengamos la obligación de ponerlos al llamar la función. Además también podemos poner valores por defecto, en caso de que se llame a la función sin poner los parametros opcionales
Ejemplo de función con parámetros opcionales que incluyen valores por defecto.
Public Function calcula(Optional altura As Integer = 10, Optional base As Integer = 8)
Print altura * base
End
¿como funciona esta función?Si pasamos dos números a la función, el valor de "altura" y "base" sera el pasado:
Ejemplo:
calcula(5,9)
nos escribira en pantalla 45
Si usamos la función como sigue:
calcula(5)
nos escribirá en pantalla 40
Altura valdrá 5, y base valdrá el valor por defecto, osea 8, entonces 5x8 = 40
Si no pasamos ningún valor:
calcula()
Entonces escribirá en pantall 80
Altura valdrá 10 (el valor por defecto) y Base valdrá 8, entonces 10x8 = 80
Si pasamos solo el 2º parametro:
calcula(,16)
Entonces escribira en pantalla 160
Altura valdrá 10 (el valor por defecto) y Base valdrá 16, entonces 10x16 = 160
Codigo completo:
Public Sub Main()
calcula(5, 9)
calcula(5)
calcula()
calcula(, 16)
End
Public Function calcula(Optional altura As Integer = 10, Optional base As Integer = 8)
Print altura * base
End
Resultado por:
45
40
80
160
Ref:
https://www.gambas-es.org/viewtopic.php?t=6530&p=39332#p39332