Что делает хэш-знак в erlang?

Что делает хэш-знак в erlang?

record_to_string(#roster{us = {User, _Server},
         jid = JID,
         name = Name,
         subscription = Subscription,
         ask = Ask,
         askmessage = AskMessage}) ->
Username = ejabberd_odbc:escape(User).
....
.

Ответ 1

Они используются вместе с records.

Ответ 2

Просто для полноты (в случае, если кто-то googles "Erlang Hash" ):

Символ хеширования также может использоваться для определения integer с произвольной базой, как в 16#deadbeef = 3735928559.

Ответ 3

Они связаны с записями в Эрланге. Infact каждая операция, например создание, доступ и обновление записей в Erlang, выполняется с помощью # http://20bits.com/articles/erlang-an-introduction-to-records/

Ответ 4

Если запись определена следующим образом:

-record(record_name, {first_field, second_field}).

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

% create a new record and put it in a variable
Record = #record_name{first_field = 1, second_field = 2},

% get only the second_field of Record
Field = Record#record_name.second_field,

% create a new record from Record, but with a different first_field
Record2 = Record#record_name{first_field = 5}.

Ответ 5

Кроме того, что они являются частью синтаксиса для записей и базового обозначения в числах, как указывали предыдущие ответы, с Erlang R17 они также используются для карт. Карта представляет собой новый тип данных ключа-значения, введенный в R17, и они выражаются как: # {Key = > Value,...}

Я думаю, что лучшим источником информации на картах является эта ссылка. Однако в кандидате на выпуск 1, похоже, не все функциональные возможности описаны там.

Ответ 6

Значок "Хеш" используется для работы с записями в erlang, как указано в других ответах. Вот статья, которая объясняет синтаксис более подробно. http://www.techtraits.com/Programming/2011/06/11/records-in-erlang/