Lolcode - Funzioni

Le funzioni sono utili nella programmazione perché riducono il tempo e lo sforzo per scrivere il codice ancora e ancora. Un codice funzione ben scritto offre un'elevata riutilizzabilità. Questo capitolo spiega come scrivere e lavorare con le funzioni in LOLCODE.

Definizione di una funzione

Una funzione è un insieme di istruzioni che vengono eseguite tutte in una volta chiamando quella funzione. In LOLCODE, la definizione di una funzione inizia con la parola chiave "HOW IZ I" e la parola chiave di chiusura è "IF U SAY SO".

La sintassi per scrivere una funzione in LOLCODE è -

HOW IZ I <function name> [YR <parameter/argument> [AN YR <other _arguments..> …]]
   <code block to execute / Set of statements to execute>
IF U SAY SO

Punti importanti

Considera i seguenti punti importanti quando definisci una funzione LOLCODE:

  • In LOLCODE, la funzione può accettare solo un certo numero fisso di argomenti come input.

  • Gli argomenti o parametri, sono gli identificatori che diventano una variabile per la funzione.

  • Le funzioni in LOLCODE non possono accedere ad altri valori diversi dai valori loro passati come argomenti.

Restituzione di valore da una funzione

Ritorno in codifica significa qualcosa che viene restituito. Nella programmazione, una funzione può restituire un valore al programma quando la sua esecuzione è completata. In LOLCODE, le funzioni restituiscono valori variabili come spiegato di seguito:

  • FOUND YR <any_expression> restituisce il valore dell'espressione quando il blocco funzione viene eseguito completamente.

  • GTFO non restituisce alcun valore (NOOB), che è simile a return 0 in altri linguaggi di programmazione come C e Java.

  • Se non viene trovata nessun'altra istruzione return, allora IF U SAY SO viene eseguito e viene restituito il valore nella variabile IT.

Funzioni di chiamata

Una funzione è definita nel corpo del programma e successivamente viene chiamata per l'esecuzione. Una funzione che accetta un dato numero di argomenti viene chiamata come mostrato di seguito:

I IZ <function_name> [YR <expression_One> [AN YR <expression_Two> 
   [AN YR <expression_Three> ...]]] MKAY

Mentre si chiama una funzione, l'espressione è formata dal nome della funzione, seguito dal numero di argomenti che la funzione accetterà. Questi argomenti possono essere semplici variabili o qualsiasi espressione. Se una funzione accetta qualsiasi espressione invece di un valore semplice, i valori delle espressioni vengono calcolati prima che la funzione venga chiamata.

Ricorda che il numero di argomenti che una funzione accetterà, dovrebbe essere definito nella definizione della funzione.

Esempio

HAI

HOW DUZ I MAINUMBA
   I HAS A NUMBA
   GIMMEH NUMBA
   FOUND YR NUMBA
IF U SAY SO

VISIBLE MAINUMBA

KTHXBYE

Quando esegui il codice sopra, verrà richiesto un input, quindi quando invii l'input, vedrai lo stesso del risultato. Ad esempio, se inseriamo 55, verrà stampato 55.

Esempio

HAI 1.2
HOW IZ I MULTIPLY YR FIRSTOPERANT AN YR SECONDOPERANT
   FOUND YR PRODUKT OF FIRSTOPERANT AN SECONDOPERANT
   IF U SAY SO
   VISIBLE I IZ MULTIPLY YR 2 AN YR 3
KTHXBYE

La funzione precedente che esegue la moltiplicazione degli operandi di input stamperà il seguente output quando la si esegue -

sh-
4.3$ lci main.lo

6

Esempio

HAI 1.2
I HAS A STRINGARRAY ITZ A BUKKIT
   STRINGARRAY HAS A VAR17 ITZ "OBJECT1"
   STRINGARRAY HAS A VAR18 ITZ "OBJECT2"
   HOW IZ STRINGARRAY ACCESS YR VARIABLE
      FOUND YR STRINGARRAY'Z SRS VARIABLE
   IF U SAY SO
   I HAS A STRING ITZ "VAR17"
   VISIBLE STRINGARRAY IZ ACCESS YR STRING MKAY
KTHXBYE

L'output che il codice precedente produrrà è:

sh-
4.3$ lci main.lo 
OBJECT1