Erlang中的长度
by cnDenis http://cndenis.iteye.com 2013年4月27日
值得吐槽的是居然连求长度这么基础的方法,Erlang都没有统一起来。 分为len和size两大对立阵营:
len阵营
- 列表(字符串是列表的一种)的长度用
length/1
或string:len/1
。 别看后面那个打着string开头,对于不是字符串的列表也照用不误, 从源代码看其实就是前一个的马甲。 - queue模块是len阵营的,使用
queue:len/1
。
size阵营
- 二进制串的长度用
size/1
,或是用byte_size/1
和bit_size/1
也行,分别是 比特长度和位长度,1byte = 8bit。 - 元组的长度也用
size/1
,等于其元素的个数。元组的比特长度和位长度不可用。 - dict,sets,orddict,ordsets,array这几个模块也是size阵营的,使用其各自模块 下的size函数。
- ets比较特别,使用
ets:info(Tab, size)
来获取长度,Tab是表的id,或是已注册的表的名字。
另外,特立独行的“原子”没有长度。
相关推荐
vmstats 是一个小型的 Erlang 应用程序,它收集 Erlang VM 上的指标并将它们发送到一个可配置的接收器(例如,StatsD)。 特征 vmstats 收集的不同指标包括: error_logger队列长度 加载的模块数 进程数 进程限制 ...
erlang_w_shingling erlang中的W-shingling算法实现。描述: 该模块包含使用 W-shingling 算法比较文本相似性的函数。 关于算法的信息: : 出口: similarity ( Text1 , Text2 , ShingleLength ) -> float () 返回两...
flame_prof注意:该项目正在积极开发中。 参考文档,教程和许多功能...屏幕截图 例子下面是一些节点中的(很多)亚秒级热图和Erlang代码火焰图,这些节点被分析一次超过一分钟。 探查器配置为每5秒自动选择并剖析前10
mkr µKanren在LFE中的实现。什么是µKanren? 它是一种很小的关系编程语言,在Jason Hemann和Daniel P. Friedman的超级有趣的教程认真的科学出版物的定义。我可以运行在合理的策士在练习mkr ? 是的! 您可能需要...
02 - list.erl - 删除重复项并计算列表的长度。 还有另一个函数可以读取文件并删除重复项并计算列表的长度。 03 - charcount.erl - 在不使用多个进程的情况下确定字符数。 我添加了一个计时器方法,以便我可以将它...
该存储库包含的基于协议缓冲区的接口的消息定义,以及消息类型的各种Erlang特定的实用程序模块。 它与Riak服务器和客户端分开分发,从而使其可用作受支持消息的独立表示。 此外, .proto描述按功能区域分类: ...
积分java源码积分CSharpDemo 一个简单的控制台 C# (.NET Core) 应用程序。 使用钱包的公钥显示余额。...交易字段(长度以字节为单位) 标识(6 个字节) 来源(32 字节) 目标(32 字节) Amount.Integral (4 字节) Am
Text使用换行符作为消息结尾的ByteString ,而ByteString和JSON在前64位中指示剩余消息的长度。 尽管JSON是基于ByteString构建的,但是当您使用JSON您可以自动在消息的数据类型之间ByteString序列化,而完全不必...
积分java源码积分CSharpDemo 一个简单的控制台 C# (.NET Core) 应用程序。 使用钱包的公钥显示余额。...交易字段(长度以字节为单位) 标识(6 个字节) 来源(32 字节) 目标(32 字节) Amount.Integral (4 字节) Am
集名字必须严格符合标准命名规则:以拉丁字母或下划线(_)为首字符,其后由拉丁字母(A—Z)、下划线、阿拉伯数字(0,1,…,9)组成的总长度不超过32个字符的字符串,且不区分大小写。 注意:该命名规则同样适用...
前缀可以是任意长度,以下都是有效的前缀:“/”、“/prefix”、“/some/longer/prefix/”等。 您还可以通过在编译前编辑 priv/mime.types 来放入您自己的 MIME 类型/内容类型。 用于在“/prefix”下的“/tmp”中...
在16位的系统中系统中只有一个消息队列,所以系统必须等待当前任务处理消息后才可以发送下一消息到相应程序,如果一个程序陷如死循环或是耗时操作时系统就会得不到控制权。这种多任务系统也就称为协同式的多任务系统...