Un nuovo approccio alla scrittura delle funzioni variadiche

Tradotto automaticamente da Deepl

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!

Fabrice Mainguené
- Product Owner -Fabrice Mainguené si è unito al team di 4D Program nel novembre 2016. In qualità di Product Owner, è incaricato di scrivere le storie degli utenti e di tradurle in specifiche funzionali. Il suo ruolo è anche quello di assicurarsi che l'implementazione della funzionalità fornita soddisfi le esigenze del cliente.Dopo aver conseguito una laurea in Informatica presso il CNAM, Fabrice è entrato a far parte di una piccola società di pubblicazione di software come sviluppatore Windev. In seguito ha lavorato per diverse aziende del settore industriale e commerciale come sviluppatore Windev e web e come consulente tecnico su nuove funzionalità.