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