ejabberd - mnesia table记录定义:" :: binary()"

时间:2016-09-14 04:54:16

标签: erlang ejabberd mnesia

我试图了解记录定义中存在的 :: binary()的含义和目的,但并不是真正理解它。感谢是否有人可以帮助我理解这一点。

示例:mod_offline.hrl

1 个答案:

答案 0 :(得分:4)

这是一种类型声明。这在"Type Information in Record Declarations" section

中有所描述

意思是该记录字段的值应该是二进制的。由于Erlang是一种弱类型语言,编译器并不关心这一点,但是有一个名为Dialyzer的静态类型检查器,它试图在代码中找到在该字段中放置二进制以外的东西的位置,或者希望该字段包含二进制以外的内容。

有关类型规格和透析器的温和介绍,请参阅the Type Specifications and Erlang chapter of Learn You Some Erlang