Beaucoup d’entre vous ont l’habitude d’utiliser des méthodes ou des fonctions qui peuvent accepter un nombre indéterminé de paramètres, souvent appelées fonctions variadiques.
Dans le cadre de notre processus continu d’amélioration de votre expérience de développement, 4D v20 R3 a rationalisé la déclaration de ces méthodes en introduisant l’ellipse, ce qui rend votre code plus simple et plus facile à utiliser.
Dans votre déclaration de fonction ou de méthode, vous pouvez désormais employer « … » dans votre dernier paramètre pour spécifier que le nombre de paramètres est variable. Ces points de suspension peuvent être complétés par un type. Ce type est alors utilisé par 4D pour vérifier le type des paramètres reçus par la fonction ou la méthode.
Par exemple, si vous voulez créer une méthode SumNumbers qui additionne tous les nombres passés en paramètres :
#DECLARE( ... : Real) : Real
var $number; $total : Real
var $i : Integer
For ($i; 1; Count parameters)
$total+= ${$i}
End for
return $total
Cette méthode peut être appelée avec un nombre variable de paramètres :
$total1:=SumNumbers // returns 0
$total2:=SumNumbers(1; 2; 3; 4; 5) // returns 15
Avec cette syntaxe, 4D vérifie les types de paramètres pour vous :
$total3:=SumNumbers(1; 2; "test"; 4; 5) // returns an error
Mais si vous voulez accepter n’importe quel type, utilisez « … » sans type :
function AcceptAllType(...)
var $value : variant
For each ($value; Copy parameters())
// your code here
End for each
Profitez de cette nouvelle syntaxe pour créer des fonctions ou des méthodes flexibles, et n’hésitez pas à explorer ces fonctionnalités plus en détail en vous référant à la documentation !