哈希标志在erlang中做了什么?
record_to_string(#roster{us = {User, _Server},
jid = JID,
name = Name,
subscription = Subscription,
ask = Ask,
askmessage = AskMessage}) ->
Username = ejabberd_odbc:escape(User).
....
.
Run Code Online (Sandbox Code Playgroud)
它们与Erlang中的Records有关.事实上,在Erlang中创建,访问和更新记录等每个操作都是使用#http://20bits.com/articles/erlang-an-introduction-to-records/完成的.
如果一条记录是这样定义的:
-record(record_name, {first_field, second_field}).
Run Code Online (Sandbox Code Playgroud)
您可以通过多种方式使用哈希来访问记录,其中:
% 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}.
Run Code Online (Sandbox Code Playgroud)