Crystal Notes: Variables
Published: 28th of July 2021
Like most languages, variables in Crystal are defined with the = operator.
# Create a string variable stuff = "stuff" # Deduce the type of a variable. typeof(stuff) # => String # Explicitly define the type of a variable. stuff : String # Assign "stuff" value to the stuff variable stuff = "stuff" # Define a variable type and assign a value stuff : String = "stuff" # Define a constant THINGS = "things"
- Variable types are inferred by the compiler and do not have to be specifically defined.
- When a variable type is declared, it must be assigned a value before it can be accessed.
- There are no global variables in Crystal, all variables are locally scoped
- A variables value can be reassigned.
- If a constants value is reassigned, the compiler will complain, but the program will still run.
- Variables are defined in snake_case by convention.
- Constants are defined in SHOUTING_SNAKE_CASE by convention.