Lolcode - Variabili

Come in qualsiasi altro linguaggio di programmazione, LOLCODE consente di definire variabili di vario tipo. Questo capitolo ti renderà familiare come lavorare con le variabili in LOLCODE.

Ambito delle variabili

L'ambito di una variabile è locale rispetto alla funzione o al blocco di programma, ovvero una variabile definita in un ambito non può essere richiamata in nessun altro ambito dello stesso programma. Le variabili sono accessibili solo dopo essere state dichiarate.

Tieni presente che non esiste un ambito globale delle variabili in LOLCODE.

Convenzioni di denominazione

I nomi delle variabili sono generalmente chiamati identificatori. Ecco alcune delle convenzioni per denominare le variabili in LOLCODE -

  • Gli identificatori di variabile possono essere in lettere maiuscole o minuscole (o una combinazione delle due).

  • Possono iniziare solo con una lettera e quindi possono essere seguite da altre lettere, numeri e trattini bassi.

  • LOLCODE non consente l'uso di spazi, trattini o altri simboli durante la denominazione di una variabile.

  • Gli identificatori di variabile fanno distinzione tra maiuscole e minuscole.

Ecco alcune delle regole per i nomi validi e non validi per le variabili in LOLCODE-

  • Il nome dovrebbe sempre iniziare con un alfabeto. Per esempio,name, Name sono validi.

  • Il nome di una variabile non può iniziare con una cifra. Per esempio,2var è invalido.

  • Il nome di una variabile non può iniziare con un carattere speciale.

  • Una variabile può contenere _ o una cifra ovunque all'interno del suo nome, tranne che nell'indice iniziale. Per esempio,name2_m è un nome valido.

Di seguito sono riportati alcuni esempi di nomi validi in LOLCODE:

HAI 1.2
I HAS A food ITZ "111.00033"
I HAS A food2 ITZ "111"
I HAS A fo_od ITZ "1"
VISIBLE food
VISIBLE food2
VISIBLE fo_od
KTHXBYE

Tutte le dichiarazioni di dichiarazione nel codice precedente sono valide e produrranno il seguente output quando eseguite:

sh-4.3$ lci main.lo
111.00033
111
1

Di seguito vengono forniti alcuni esempi di istruzioni non valide e il loro output:

Esempio 1

HAI 1.2
I HAS A 2food ITZ "111.00033"
KTHXBYE

Il codice sopra darà il seguente output quando lo esegui:

sh-
4.3$ lci main.lo
Line 2: Expected: identifier; Got: int(2).

Esempio 2

HAI 1.2
I HAS A _food ITZ "111.00033"
KTHXBYE

Il codice sopra darà il seguente output quando lo esegui:

sh-
4.3$ lci main.lo
Line 2: Unrecognized sequence at: _food ITZ "111.00033".

Esempio 3

HAI 1.2
I HAS A f$ood ITZ "111.00033"
KTHXBYE

Il codice sopra darà il seguente output quando lo esegui:

sh-
4.3$ lci main.lo
Line 2: Unrecognized sequence at: $ood ITZ "111.00033".

Dichiarazione e assegnazione di variabili

Per declareuna variabile, LOLCODE fornisce una parola chiave "I HAS A" seguita dal nome della variabile. Di seguito puoi trovare la sintassi per dichiarare una variabile.

I HAS A VAR BTW VAR is empty now, You can use any name instead of var

Per assignla variabile un valore nella stessa istruzione, è quindi possibile seguire il nome della variabile con "ITZ" e quindi dare il valore che si desidera assegnare. Utilizzare la seguente sintassi per assegnare un valore a una variabile:

<variable> R <expression>

Esempio

VAR R "Green"         BTW VAR is now a YARN and equals "Green"
VAR R 30              BTW VAR is now a NUMBR and equals 30

Puoi anche declare e assign variabili contemporaneamente utilizzando la seguente sintassi:

I HAS A VAR ITZ VALUE

Esempio

I HAS A NAME ITS “TUTORIALS POINT”

Esempio

HAI 1.2
BTW this is how we declare variables
I HAS A food
I HAS A bird

BTW this is how we assign variables
food R 1
bird R 5

BTW this is how initialize variables
I HAS A biz ITZ "OMG!"
VISIBLE food
VISIBLE biz
VISIBLE bird
KTHXBYE

Il programma sopra mostra la dichiarazione delle variabili e le stampa. L'output è -

sh-
4.3$ lci main.lo
1
OMG!
5

Tipo Casting

Per convertire un valore di un tipo in un altro tipo, usiamo il casting del tipo. Il cast di un NUMBAR su un NUMBR tronca la parte decimale del numero in virgola mobile. Trasmettere un NUMBAR a un YARN (stampandolo, ad esempio), tronca l'output a 2 posizioni decimali predefinite.

Esempio

HAI 1.2
I HAS A food ITZ "111.00033"
VISIBLE food

BTW this is how we do type casting
MAEK food A NUMBAR
VISIBLE food
KTHXBYE

La riga di codice precedente produrrà il seguente output:

sh-4.3$ lci main.lo
111.00033
111.00033

Tutte le variabili dichiarate in un programma LOLCODE sono variabili locali e non esiste uno scope globale in questa lingua per nessuna variabile.