{{htmlmetatags>metatag-robots=()
metatag-title=(CALL | ugBASIC User Manual)
metatag-keywords=(ugBASIC,Commodore 64,Commodore PLUS/4,ZX Spectrum)
metatag-description=(Pagina del manuale per CALL)
metatag-media-og:image=(:ugbasic:logo-ugbasic-fb.png)
metatag-og:title=(CALL | ugBASIC User Manual)
metatag-og:description=(Pagina del manuale per CALL)
}}
====== ugBASIC Manuale Utente ======
===== CALL ✓ =====
===== SINTASSI =====
CALL name
CALL name parameters "[" [par1 [, par2[, ...]]] "]"
==== SCOPO ====
Il comando ''CALL'' viene utilizzato per chiamare una procedura (o subroutine)
definita in precedenza all'interno dello stesso programma. Una procedura è un
blocco di codice separato progettato per eseguire un'attività specifica.
Utilizzando ''CALL'', è possibile eseguire il codice all'interno della procedura più
volte, senza dover riscrivere le stesse istruzioni ogni volta.
Prima di poter chiamare una procedura, è necessario definirla. In ugBASIC, una
procedura è in genere definita con la parola chiave ''PROCEDURE'' seguita dal nome
della procedura. All'interno della procedura, si scrivono le istruzioni che devono essere
eseguite quando la procedura viene chiamata.
Per eseguire il codice all'interno della procedura, si utilizza il comando ''CALL''
seguito dal nome della procedura. Quando il programma raggiunge questa riga, il controllo
viene trasferito alla prima istruzione nella procedura. Una volta eseguite tutte le istruzioni
nella procedura, il controllo torna alla riga dopo ''CALL''.
Dividere un programma in procedure rende il codice più organizzato e facile da leggere,
e una procedura può essere chiamata più volte da diverse parti del programma, evitando
la duplicazione del codice. Le procedure possono essere utilizzate per suddividere un
problema complesso in sottoproblemi più semplici, il che aiuta a creare una struttura
gerarchica nel programma.
Puoi anche passare argomenti a una procedura, racchiusi in parametri quadrati: gli
argomenti sono valori che vengono passati alla procedura quando viene chiamata e che
possono essere utilizzati all'interno della procedura stessa. Se la procedura restituisce
un valore, l'istruzione chiamante lo ignora.
Suddividendo il codice in procedure, diventa più facile da comprendere e gestire, e riutilizzando
le stesse procedure in più parti del programma, riduci le possibilità di introdurre errori.
Infine, se hai bisogno di modificare una parte del codice, puoi semplicemente modificare la
procedura corrispondente, senza dover apportare modifiche in tutte le parti del programma che
utilizzano quella parte del codice.
Importante: se è in vigore il pragma ''OPTION CALL AS GOTO'', l'istruzione verrà considerata
come un ''GOTO'' anziché un ''GOSUB''. Quindi, nessun valore di ritorno e nessun ritorno,
per niente. Questo non si applica alle chiamate di sistema.
==== ESEMPIO ====
CALL factorial[42]
Si vedano anche i seguenti file di esempio:
* ''[[https://github.com/spotlessmind1975/ugbasic/tree/main/examples/procedures_param_01.bas|procedures_param_01.bas]]''
* ''[[https://github.com/spotlessmind1975/ugbasic/tree/main/examples/procedures_param_02.bas|procedures_param_02.bas]]''
==== ABBREVIAZIONE ====
Ca
==== 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 [[https://github.com/spotlessmind1975/ugbasic/issues/new?title=SEGNALAZIONE SU CALL|aprire una segnalazione]] per questa parola chiave su GitHub. Grazie!===== POWERED BY =====
[[:it:ugbasic:user:index|{{ :ugbasic:user:logo-ugbasic.png?nolink&600 |}}]]