Переменная предоставляет нам именованное хранилище, которым наши программы могут манипулировать. Каждая переменная в Elixir имеет определенный тип, который определяет размер и расположение памяти переменной; диапазон значений, которые могут быть сохранены в этой памяти; и набор операций, которые могут быть применены к переменной.
Типы переменных
Elixir поддерживает следующие основные типы переменных.
целое число
Они используются для целых чисел. Они имеют размер 32 бита в 32-битной архитектуре и 64 бита в 64-битной архитектуре. Целые числа всегда подписываются в эликсире. Если целое число начинает увеличиваться в размере, превышающем его предел, эликсир переводит его в большое целое число, которое занимает память в диапазоне от 3 до n слов, в зависимости от того, что может поместиться в памяти.
Поплавки
Поплавки имеют 64-битную точность в эликсире. Они также как целые числа с точки зрения памяти. При определении числа с плавающей запятой можно использовать экспоненциальную запись.
логический
Они могут принимать 2 значения, которые являются либо истиной, либо ложью.
Струны
Строки utf-8 закодированы в эликсире. У них есть модуль строк, который предоставляет программисту множество функций для работы со строками.
Анонимные функции / Лямбды
Это функции, которые можно определить и присвоить переменной, которую затем можно использовать для вызова этой функции.
Коллекции
Есть много типов коллекций, доступных в эликсире. Некоторые из них — это списки, кортежи, карты, двоичные файлы и т. Д. Они будут обсуждаться в последующих главах.
Объявление переменной
Объявление переменной сообщает интерпретатору, где и сколько нужно создать хранилище для переменной. Эликсир не позволяет нам просто объявить переменную. Переменная должна быть объявлена и ей присвоено значение одновременно. Например, чтобы создать переменную с именем life и присвоить ей значение 42, мы делаем следующее —
life = 42
Это свяжет срок службы переменной со значением 42. Если мы хотим переназначить эту переменную новым значением, мы можем сделать это, используя тот же синтаксис, что и выше, т.е.
life = "Hello world"
Именование переменных
Переменные именования следуют соглашению snake_case в Elixir, т. Е. Все переменные должны начинаться со строчной буквы, за которой следуют 0 или более букв (как в верхнем, так и в нижнем регистре), после которых в конце указывается необязательный ‘?’ ИЛИ ЖЕ ‘!’.
Имена переменных также могут начинаться с начального подчеркивания, но их следует использовать только при игнорировании переменной, т. Е. Эта переменная больше не будет использоваться, но ее необходимо присвоить чему-либо.
Переменные печати
В интерактивной оболочке переменные будут напечатаны, если вы просто введете имя переменной. Например, если вы создаете переменную —
life = 42
И введите «жизнь» в вашей оболочке, вы получите вывод как —
42
Но если вы хотите вывести переменную на консоль (при запуске внешнего скрипта из файла), вам необходимо предоставить переменную в качестве входных данных для функции IO.puts —
life = 42 IO.puts life
или же
life = 42 IO.puts(life)
Это даст вам следующий результат —