Учебники

Эликсир — Переменные

Переменная предоставляет нам именованное хранилище, которым наши программы могут манипулировать. Каждая переменная в 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

Live Demo

life = 42  
IO.puts life 

или же

Live Demo

life = 42 
IO.puts(life) 

Это даст вам следующий результат —