Эликсир - переменные
Переменная предоставляет нам именованное хранилище, которым могут управлять наши программы. Каждая переменная в Elixir имеет определенный тип, который определяет размер и структуру памяти переменной; диапазон значений, которые могут быть сохранены в этой памяти; и набор операций, которые можно применить к переменной.
Типы переменных
Elixir поддерживает следующие основные типы переменных.
Целое число
Они используются для целых чисел. Они имеют размер 32 бита в 32-битной архитектуре и 64 бита в 64-битной архитектуре. Целые числа всегда подписываются в эликсире. Если целое число начинает увеличиваться в размере сверх своего предела, elixir преобразовывает его в большое целое число, которое занимает память в диапазоне от 3 до n слов, в зависимости от того, какое из них может поместиться в памяти.
Плавает
В эликсире поплавки имеют 64-битную точность. Они также похожи на целые числа с точки зрения памяти. При определении числа с плавающей запятой можно использовать экспоненциальную запись.
Булево
Они могут принимать 2 значения: истинное или ложное.
Струны
Строки закодированы в кодировке utf-8 в elixir. У них есть модуль строк, который предоставляет программисту множество функций для управления строками.
Анонимные функции / лямбды
Это функции, которые можно определить и присвоить переменной, которая затем может использоваться для вызова этой функции.
Коллекции
В Elixir доступно множество типов коллекций. Некоторые из них - это списки, кортежи, карты, двоичные файлы и т. Д. Они будут обсуждаться в следующих главах.
Объявление переменной
Объявление переменной сообщает интерпретатору, где и сколько создать хранилище для переменной. Эликсир не позволяет нам просто объявить переменную. Переменная должна быть объявлена и присвоено значение одновременно. Например, чтобы создать переменную с именем 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)
Это даст вам следующий результат -
42