Muchos de ustedes están familiarizados con el uso de métodos o funciones que pueden aceptar un número indeterminado de parámetros, a menudo denominados funciones variádicas.
En nuestro continuo proceso para mejorar su experiencia de desarrollo, 4D v20 R3 ha simplificado la declaración de estos métodos introduciendo la elipsis, haciendo su código más sencillo y fácil de trabajar.
En su declaración de función o método, ahora puede emplear «…» en su último parámetro para especificar que el número de parámetros es variable. Estos puntos suspensivos pueden completarse con un tipo. Este tipo es entonces utilizado por 4D para comprobar el tipo de parámetros recibidos por la función o el método.
Por ejemplo, si desea crear un método SumNumbers que sume todos los números pasados como parámetros:
#DECLARE( ... : Real) : Real
var $number; $total : Real
var $i : Integer
For ($i; 1; Count parameters)
$total+= ${$i}
End for
return $total
Este método puede ser llamado con un número variable de parámetros:
$total1:=SumNumbers // returns 0
$total2:=SumNumbers(1; 2; 3; 4; 5) // returns 15
Con esta sintaxis, 4D comprueba los tipos de parámetros por usted:
$total3:=SumNumbers(1; 2; "test"; 4; 5) // returns an error
Pero si quiere aceptar cualquier tipo, use «…» sin tipo:
function AcceptAllType(...)
var $value : variant
For each ($value; Copy parameters())
// your code here
End for each
Aproveche esta nueva sintaxis para crear funciones o métodos flexibles, y siéntase libre de explorar estas características en mayor detalle consultando la documentación.