Molti di voi hanno familiarità con l’uso di metodi o funzioni che possono accettare un numero imprecisato di parametri, spesso chiamati funzioni variadiche.
Nell’ambito del nostro continuo processo di miglioramento dell’esperienza di sviluppo, 4D v20 R3 ha semplificato la dichiarazione di questi metodi introducendo l’ellissi, rendendo il codice più semplice e facile da lavorare.
Nella dichiarazione di una funzione o di un metodo, è ora possibile utilizzare “…” nell’ultimo parametro per specificare che il numero di parametri è variabile. Questi punti di sospensione possono essere integrati da un tipo. Questo tipo viene utilizzato da 4D per verificare il tipo di parametri ricevuti dalla funzione o dal metodo.
Ad esempio, se si vuole creare un metodo SommaNumeri che somma tutti i numeri passati come parametri:
#DECLARE( ... : Real) : Real
var $number; $total : Real
var $i : Integer
For ($i; 1; Count parameters)
$total+= ${$i}
End for
return $total
Questo metodo può essere chiamato con un numero variabile di parametri:
$total1:=SumNumbers // returns 0
$total2:=SumNumbers(1; 2; 3; 4; 5) // returns 15
Con questa sintassi, 4D controlla i tipi di parametri:
$total3:=SumNumbers(1; 2; "test"; 4; 5) // returns an error
Ma se volete accettare qualsiasi tipo, usate “…” senza tipo:
function AcceptAllType(...)
var $value : variant
For each ($value; Copy parameters())
// your code here
End for each
Sfruttate questa nuova sintassi per creare funzioni o metodi flessibili e non esitate ad approfondire queste caratteristiche consultando la documentazione!