A variable, by definition, is “a named space in the memory” that stores values. In other words, it acts as a container for values in a program. A variable helps programs to store and manipulate values.
Variables in Elm are associated with a specific data type. The data type determines the size and layout of the variable's memory, the range of values that can be stored within that memory and the set of operations that can be performed on the variable.
In this section, we will learn about the Variable Naming-Rules.
The type syntax for declaring a variable in Elm is given below −
variable_name:data_type = value
The “ : ” syntax (known as type annotation) is used to associate the variable with a data type.
variable_name = value-- no type specified
The data type is optional while declaring a variable in Elm. In this case, the data type of the variable is inferred from the value assigned to it.
This example uses VSCode editor to write an elm program and execute it using the elm repl.
Step 1 − Create a project folder - VariablesApp. Create a Variables.elm file in the project folder.
Add the following content to the 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"
The program defines a module Variables. The name of a module must be the same as that of the elm program file. The (..) syntax is used to expose all components in the module.
The program declares a variable message of the type String.
Step 2 − Execute the program.
elm 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 >
Use Elm REPL to try the following example.
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 = "Howcodex" "Howcodex" : String > location = "Hyderabad" "Hyderabad" : String > rating = 4.5 4.5 : Float
Here, the variables company and location are String variables and rating is a Float variable.
The elm REPL does not support type annotation for variables. The following example throws an error if the data type is included while declaring a variable.
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.
To insert a line break while using the elm REPL, use the \ syntax as shown below −
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 | = "Howcodex" -- secondLine "Howcodex" : String