哈希标志在erlang中的作用是什么?
record_to_string(#roster{us = {User, _Server},
jid = JID,
name = Name,
subscription = Subscription,
ask = Ask,
askmessage = AskMessage}) ->
Username = ejabberd_odbc:escape(User).
....
.
答案 0 :(得分:28)
它们与records一起使用。
答案 1 :(得分:13)
只是为了完整(如果有人谷歌“Erlang Hash”):
哈希符号也可用于定义integer with an arbitrary base,如16#deadbeef = 3735928559.
答案 2 :(得分:8)
它们与Erlang中的记录有关。事实上,在Erlang中创建,访问和更新记录等每个操作都是使用#http://20bits.com/articles/erlang-an-introduction-to-records/
完成的答案 3 :(得分: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}.
答案 4 :(得分:2)
除了像以前的答案所指出的那样,它还是数字中记录和基本表示的语法的一部分,从Erlang R17开始,它们也用于地图。 Map是R17中引入的一种新的键值数据类型,它们表示为:#{Key =>价值,......}
我认为地图上最好的信息来源是this link。但是,在候选版本1中,似乎并未实现所描述的所有功能。
答案 5 :(得分:1)
哈希标志用于处理erlang中的记录,如其他答案所述。这篇文章更详细地解释了语法。 http://www.techtraits.com/Programming/2011/06/11/records-in-erlang/