Ответ 1
Они используются вместе с records.
Что делает хэш-знак в erlang?
record_to_string(#roster{us = {User, _Server},
jid = JID,
name = Name,
subscription = Subscription,
ask = Ask,
askmessage = AskMessage}) ->
Username = ejabberd_odbc:escape(User).
....
.
Они используются вместе с records.
Просто для полноты (в случае, если кто-то googles "Erlang Hash" ):
Символ хеширования также может использоваться для определения integer с произвольной базой, как в 16#deadbeef = 3735928559.
Они связаны с записями в Эрланге. Infact каждая операция, например создание, доступ и обновление записей в Erlang, выполняется с помощью # http://20bits.com/articles/erlang-an-introduction-to-records/
Если запись определена следующим образом:
-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}.
Кроме того, что они являются частью синтаксиса для записей и базового обозначения в числах, как указывали предыдущие ответы, с Erlang R17 они также используются для карт. Карта представляет собой новый тип данных ключа-значения, введенный в R17, и они выражаются как: # {Key = > Value,...}
Я думаю, что лучшим источником информации на картах является эта ссылка. Однако в кандидате на выпуск 1, похоже, не все функциональные возможности описаны там.
Значок "Хеш" используется для работы с записями в erlang, как указано в других ответах. Вот статья, которая объясняет синтаксис более подробно. http://www.techtraits.com/Programming/2011/06/11/records-in-erlang/