Euforia - Procedure
Una procedura è un gruppo di codice riutilizzabile che può essere richiamato da qualsiasi punto del programma. Ciò elimina la necessità di scrivere ripetutamente lo stesso codice. Questo aiuta i programmatori a scrivere codice modulare.
Come qualsiasi altro linguaggio di programmazione avanzato, Euphoria supporta anche tutte le funzionalità necessarie per scrivere codice modulare utilizzando procedure.
Devi aver visto procedure come printf () e length () nei capitoli precedenti. Stiamo usando queste procedure ancora e ancora, ma sono state scritte nel nucleo di Euphoria solo una volta.
Euphoria ti consente anche di scrivere le tue procedure. Questa sezione spiega come scrivere la propria procedura in Euphoria.
Definizione della procedura
Prima di utilizzare una procedura, è necessario definirla. Il modo più comune per definire una procedura in Euphoria è usare ilprocedure parola chiave, seguita da un nome di procedura univoco, un elenco di parametri (che potrebbe essere vuoto) e un blocco di istruzioni che termina con end proceduredichiarazione. La sintassi di base è la seguente:
procedure procedurename(parameter-list)
statements
..........
end procedure
Esempio
Una semplice procedura chiamata sayHello che non accetta parametri è definita qui -
procedure sayHello()
puts(1, "Hello there")
end procedure
Chiamare una procedura
Per richiamare una procedura da qualche parte più avanti nello script, è sufficiente scrivere il nome di quella procedura come segue:
#!/home/euphoria-4.0b2/bin/eui
procedure sayHello()
puts(1, "Hello there")
end procedure
-- Call above defined procedure.
sayHello()
Questo produce il seguente risultato:
Hello there
Parametri di procedura
Finora hai visto la procedura senza un parametro. Ma è possibile passare parametri diversi durante la chiamata a una procedura. Questi parametri passati possono essere catturati all'interno della procedura e qualsiasi manipolazione può essere eseguita su quei parametri.
Una procedura può richiedere più parametri separati da virgola.
Esempio
Facciamo una piccola modifica nella nostra procedura sayHello . Questa volta ci vogliono due parametri:
#!/home/euphoria-4.0b2/bin/eui
procedure sayHello(sequence name,atom age)
printf(1, "%s is %d years old.", {name, age})
end procedure
-- Call above defined procedure.
sayHello("zara", 8)
Questo produce il seguente risultato:
zara is 8 years old.