Indice

ugBASIC Manuale Utente

PROCEDURE...END PROC ✓

SINTASSI

   PROCEDURE name[ par1[, par2[, ... ]]] ]
    ...
   END PROC[ expression ]

SCOPO

Questa coppia di parole chiave crea una procedura assegnandole un nome. Il nome è quindi seguito da un elenco di parametri e la procedura deve terminare con i comandi END PROC. I comandi dovrebbero essere posti su singole righe, ma non è obbligatorio.

Seguendo la convenzione in essere su altri BASIC dell'epoca, come il Simon's BASIC o il Tuned Simon's BASIC, il nome della procedura può anche contenere spazi. In tal caso, lo spazio finale non sarà considerato come parte del nome.

È possibile posizionare la definizione della procedura ovunque nel programma. Quando ugBASIC incontra una definizione di procedura, la procedura viene riconosciuta come tale e viene eseguito un salto all' END PROC. In questo modo non vi è alcun rischio di eseguire accidentalmente la procedura.

Di seguito al nome della procedura può essere posto un elenco di parametri. Questo crea un gruppo di variabili locali che possono essere caricate direttamente dal programma principale. Da notare che i valori da caricare nei parametri devono essere inseriti tra parentesi quadre come parte della chiamata di procedura. Questo sistema funziona altrettanto bene con costanti e variabili, ma anche array. Se è necessario immettere più di un parametro, i parametri devono essere separate da virgole.

@example

Come opzione è possibile indicare un valore da restituire da parte della procedura. Il valore va indicato tra parentesi quadre. Il valore sarà, quindi, copiato nella variable PARAM e restituito dalla chiamata, se la chiamata è stata fatta nel contesto di una espressione.

Importante: se il pragma OPTION CALL AS GOTO è attivo, l'istruzione sarà considerata un NOP.

ESEMPIO

  PROCEDURE test[ a, b ]
     PRINT "HELLO WORLD! "; (a+b)
  END PROC
  PROCEDURE sumOf( x, y )
  END PROC[x+y]
  PROCEDURE hundred
  END PROC[100]

Si vedano anche i seguenti file di esempio:

ABBREVIAZIONE

 PrcdEePrb

DISPONIBILE SU

PROBLEMI?

Se si riscontra un problema nell'utilizzare questo comando, se si ritiene che vi sia un bug oppure che la spiegazione sia poco chiara, è possibile aprire una segnalazione per questa parola chiave su GitHub. Grazie!

POWERED BY