Strumenti Utente

Strumenti Sito


it:ugbasic:user:kw:procedure...end_proc
Traduzioni di questa pagina:


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.

È 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.

ESEMPIO

  PROCEDURE test[ a, b ]
     DEBUG "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

 Prcd...EePrb

DISPONIBILE SU

  • Atari (400/800)
  • Atari XL/XE
  • Commodore 128 (MOS 8502)
  • Commodore 128 (Zilog Z80)
  • Commodore 64
  • Commodore 64+REU
  • TRS-80 Color Computer
  • TRS-80 Color Computer 3
  • ColecoVision
  • Amstrad CPC 664
  • Dragon 32
  • Dragon 64
  • Thomson MO5
  • Thomson MO5
  • Olivetti Prodest PC128
  • Commodore PLUS/4
  • SEGA SC-3000
  • SEGA SG-1000
  • VG-5000
  • Commodore VIC-20
  • ZX Spectrum 48

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