哈希标志在erlang中做了什么?

时间:2011-05-20 19:36:50

标签: erlang

哈希标志在erlang中的作用是什么?

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

6 个答案:

答案 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/