Call
L'istruzione di controllo call consente di chiamare una subroutine che deve essere definita da un'istruzione sub precedente.
Sintassi:
Call name ( [ paramlist ])
Argomenti:
Argomento | Descrizione |
---|---|
name | Il nome della subroutine. |
paramlist | Un elenco separato da virgole di parametri effettivi da inviare alla subroutine. Ogni voce dell'elenco può essere un nome di campo, una variabile o un'espressione arbitraria. |
La subroutine chiamata da un'istruzione call deve essere definita da un'istruzione sub rilevata precedentemente durante l'esecuzione dello script.
I parametri vengono copiati nella subroutine e, se il parametro nell'istruzione call è una variabile e non un'espressione, verranno copiati nuovamente all'uscita dalla subroutine.
Limiti:
-
Poiché call è un'istruzione di controllo e come tale termina con un punto e virgola o con un carattere di fine riga, non deve superare un limite di riga.
-
Quando si definisce una routine secondaria con Sub..end sub all'interno di un'istruzione di controllo, ad esempio if..then, è possibile richiamare la routine secondaria solo dall'interno della stessa istruzione di controllo.
Esempio:
In questo esempio sono mostrati tutti i file correlati a Qlik all'interno di una cartella e delle relative sottocartelle e le informazioni dei file vengono memorizzate in una tabella. Si presuppone che sia stata creata una connessione dati alla cartella denominata Apps.
La subroutine DoDir viene chiamata con il riferimento alla cartella, 'lib://Apps', come parametro. All'interno della subroutine, è presente una chiamata ricorrente Call DoDir (Dir), che indica alla funzione di ricercare in modo ricorrente i file nelle sottocartelle.