English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Переменные Erlang

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

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

Предыдущая глава介绍了Erlang中的以下基本变量-

  • Numbers−Используется для представления целых или вещественных чисел. Например: 10.

  • Логическое значение −Это представление логического значения, может быть true или false.

  • Битовая строка−Используется для хранения области памяти без типа. Например: << 40,50 >>.

  • Тупл−Тупл — это составной тип данных с фиксированным количеством элементов. Например: {40,50}.

  • Карта−Карта — это составной тип данных с переменным количеством ключ-значений. Каждая пара ключ-значение называется связью. Например: {type => person, age => 25}.

  • Список−Список — это составной тип данных с переменным количеством элементов. Например: [40,40].

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

Общий синтаксис объявления переменных следующий-

Синтаксис

var-name = var-value

Где,

  • var-name −Это имя переменной.

  • var-value −Это значение переменной.

Ниже приведен пример объявления переменных-

实例

-module(helloworld). 
Функция «io» или часть Erlang, которая может использоваться для вывода значений переменных в программе. 
Ниже приведен пример, показывающий дополнительные параметры, которые можно использовать вместе с командой fwrite. 
   X = 40, 
   Y = 50, 
   Result = X + Y, 
   io:fwrite("~w",[Result]).

В предыдущем примере у нас есть две переменные: X, связанная со значением 40, и Y, связанная со значением 50. Другая переменная с именем Result связана с суммой X и Y.

Вывод программы, приведенной выше, будет следующим

Вывод программы будет:

90

Имя переменной

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

实例

-module(helloworld). 
Функция «io» или часть Erlang, которая может использоваться для вывода значений переменных в программе. 
Ниже приведен пример, показывающий дополнительные параметры, которые можно использовать вместе с командой fwrite. 
   X = 40, 
   Y = 50, 
   result = X + Y, 
   io:fwrite("~w",[Result]).

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

Вывод программы будет:

helloworld.erl:8: variable 'Result' is unbound

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

实例

-module(helloworld). 
Функция «io» или часть Erlang, которая может использоваться для вывода значений переменных в программе. 
Ниже приведен пример, показывающий дополнительные параметры, которые можно использовать вместе с командой fwrite. 
   X = 40, 
   Y = 50, 
   X = 60, 
   io:fwrite("~w",[X]).

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

Вывод программы будет:

helloworld.erl:6: Warning: variable 'Y' is unused
helloworld.erl:7: Warning: no clause will ever match
helloworld.erl:7: Warning: the guard for this clause evaluates to 'false'

Переменные вывода

В этом разделе мы будем обсуждать, как использовать различные функции для вывода.

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

Вы должны уже видели это (io:fwrite) во всех вышеупомянутых программах.fwrite函数是“ io”模块或Erlang的一部分,可用于在程序中输出变量的值。

以下示例显示了可以与fwrite语句一起使用的更多参数。

实例

-module(helloworld). 
Функция «io» или часть Erlang, которая может использоваться для вывода значений переменных в программе. 
Ниже приведен пример, показывающий дополнительные параметры, которые можно использовать вместе с командой fwrite. 
   Инстанция 
   Пример 
   -module(helloworld). 
   -export([start/0]).

start() ->

Вывод программы будет:

Вывод
40.000000

5.00000e+1

  • Обратите внимание на以下几点 по поводу указанного выше программы. ~

  • −Этот символ означает, что необходимо выполнить форматирование вывода.~f

  • −Параметр в виде числа с плавающей запятой, записанного как [-] ddd.ddd, где precision — количество цифр после точки. По умолчанию точность равна 6 и не может быть меньше 1.printlnЭто вывод на новую строку.

  • ~e−Параметр в виде числа с плавающей запятой, записанного как [-] d.ddde + -ddd, где precision — количество цифр, записываемых. По умолчанию точность равна 6 и не может быть меньше 2.