Elm - Variabili
Una variabile, per definizione, è "uno spazio denominato nella memoria" che memorizza i valori. In altre parole, funge da contenitore per i valori in un programma. Una variabile aiuta i programmi a memorizzare e manipolare i valori.
Le variabili in Elm sono associate a un tipo di dati specifico. Il tipo di dati determina la dimensione e il layout della memoria della variabile, l'intervallo di valori che possono essere memorizzati all'interno di quella memoria e l'insieme di operazioni che possono essere eseguite sulla variabile.
Regole di denominazione delle variabili
In questa sezione, impareremo le regole di denominazione delle variabili.
- I nomi delle variabili possono essere composti da lettere, cifre e il carattere di sottolineatura.
- I nomi delle variabili non possono iniziare con una cifra. Deve iniziare con una lettera o un trattino basso.
- Le lettere maiuscole e minuscole sono distinte perché Elm fa distinzione tra maiuscole e minuscole.
Dichiarazione delle variabili in Elm
La sintassi del tipo per dichiarare una variabile in Elm è fornita di seguito:
Sintassi 1
variable_name:data_type = value
La sintassi ":" (nota come annotazione di tipo) viene utilizzata per associare la variabile a un tipo di dati.
Sintassi 2
variable_name = value-- no type specified
Il tipo di dati è facoltativo durante la dichiarazione di una variabile in Elm. In questo caso, il tipo di dati della variabile viene dedotto dal valore ad essa assegnato.
Illustrazione
Questo esempio usa l'editor VSCode per scrivere un programma elm ed eseguirlo usando elm repl.
Step 1 − Create a project folder - VariablesApp. Create a Variables.elm file in the project folder.
Aggiungi il seguente contenuto al file.
module Variables exposing (..) //Define a module and expose all contents in the module
message:String -- type annotation
message = "Variables can have types in Elm"
Il programma definisce un modulo Variabili. Il nome di un modulo deve essere lo stesso del file di programma elm. La sintassi (..) viene utilizzata per esporre tutti i componenti nel modulo.
Il programma dichiara un messaggio variabile di tipo String .
Step 2 − Execute the program.
- Digita il seguente comando nel terminale VSCode per aprire elm REPL.
elm repl
- Eseguire la seguente istruzione elm nel terminale REPL.
> import Variables exposing (..) --imports all components from the Variables module
> message --Reads value in the message varaible and prints it to the REPL
"Variables can have types in Elm":String
>
Illustrazione
Usa Elm REPL per provare il seguente esempio.
C:\Users\dell\elm>elm repl
---- elm-repl 0.18.0 ---------------------------------------
--------------------
:help for help, :exit to exit, more at <https://github.com/elm-lang/elm-repl>
-------------------------------------
------------------------------------------
> company = "TutorialsPoint"
"TutorialsPoint" : String
> location = "Hyderabad"
"Hyderabad" : String
> rating = 4.5
4.5 : Float
Qui, le variabili company e location sono variabili String e rating è una variabile Float.
Il REPL elm non supporta l'annotazione del tipo per le variabili. L'esempio seguente genera un errore se il tipo di dati viene incluso durante la dichiarazione di una variabile.
C:\Users\dell\elm>elm repl
---- elm-repl 0.18.0 -----------------------------------------
------------------
:help for help, :exit to exit, more at <https://github.com/elm-lang/elm-repl>
----------------------------------------
----------------------------------------
> message:String
-- SYNTAX PROBLEM -------------------------------------------- repl-temp-000.elm
A single colon is for type annotations. Maybe you want :: instead? Or maybe you
are defining a type annotation, but there is whitespace before it?
3| message:String
^
Maybe <http://elm-lang.org/docs/syntax> can help you figure it out.
Per inserire un'interruzione di riga durante l'utilizzo di elm REPL, utilizzare la sintassi \ come mostrato di seguito -
C:\Users\dell\elm>elm repl
---- elm-repl 0.18.0 --------------------------------------
---------------------
:help for help, :exit to exit, more at <https://github.com/elm-lang/elm-repl>
------------------------------------------
--------------------------------------
> company \ -- firstLine
| = "TutorialsPoint" -- secondLine
"TutorialsPoint" : String