Что делает хеш-знак в эрланге? - PullRequest
12 голосов
/ 20 мая 2011

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

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

Ответы [ 6 ]

28 голосов
/ 20 мая 2011

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

13 голосов
/ 24 мая 2011

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

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

8 голосов
/ 21 мая 2011

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

4 голосов
/ 08 сентября 2013

Если запись определена так:

-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}.
2 голосов
/ 24 февраля 2014

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

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

1 голос
/ 12 июня 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...