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.