Unetway

Erlang - Переменные

В Erlang все переменные связаны с оператором '='. Все переменные должны начинаться с символа верхнего регистра. В других языках программирования для присваивания используется знак '=', но не в случае с Erlang. Как указано, переменные определяются с помощью оператора '='.

Одна из ключевых замечаний в Erlang заключается в том, что переменные являются неизменяемыми, а это означает, что для изменения значения переменной необходимо его снова уничтожить и воссоздать.

Объявления переменных

Общий синтаксис определения переменной следующий:

var-name = var-value
  • var-name - это имя переменной.
  • var-value - это значение, связанное с переменной.
-module(helloworld). 
-export([start/0]). 

start() -> 
   X = 40, 
   Y = 50, 
   Result = X + Y, 
   io:fwrite("~w",[Result]).

В приведенном выше примере у нас есть 2 переменные, одна из которых X, которая привязана к значению 40, а следующая - Y, которая привязана к значению 50. Другая переменная, называемая Результатом, связана с добавлением X и Y.

Переменные имен

Как обсуждалось, имена переменных должны начинаться с верхнего регистра. Возьмем пример переменной, объявленной в нижнем регистре.

-module(helloworld). 
-export([start/0]). 

start() -> 
   X = 40, 
   Y = 50, 
   result = X + Y, 
   io:fwrite("~w",[Result]).

Если вы попытаетесь скомпилировать вышеуказанную программу, вы получите следующую ошибку времени компиляции.

Во-вторых, все переменные могут быть назначены только один раз. Давайте возьмем пример назначения переменной более одного раза.

-module(helloworld). 
-export([start/0]). 

start() -> 
   X = 40, 
   Y = 50, 
   X = 60, 
   io:fwrite("~w",[X]).

Если вы попытаетесь скомпилировать вышеуказанную программу, вы получите следующую ошибку времени компиляции.

Использование функции io: fwrite

Вы бы увидели это (io: fwrite), используемое во всех вышеперечисленных программах. Функция fwrite является частью модуля «io» или Erlang, который может использоваться для вывода значения переменных в программе.

В следующем примере показано еще несколько параметров, которые можно использовать с оператором fwrite.

-module(helloworld). 
-export([start/0]). 

start() -> 
   X = 40.00, 
   Y = 50.00, 
   io:fwrite("~f~n",[X]), 
   io:fwrite("~e",[Y]).

Следующие указатели следует отметить по вышеуказанной программе.

  • ~ - этот символ символизирует, что для вывода необходимо выполнить некоторое форматирование.
  • ~ f - аргумент - это float, который записывается как [-] ddd.ddd, где точность - это число цифр после десятичной точки. Точность по умолчанию - 6, и она не может быть меньше 1.
  • ~ n - это для печати в новой строке.
  • ~ e - аргумент - это float, который записывается как [-] d.ddde + -ddd, где точность - это количество записанных цифр. Точность по умолчанию - 6, и она не может быть меньше 2.