`
cnDenis
  • 浏览: 100442 次
  • 来自: 广州
社区版块
存档分类
最新评论

Erlang中的长度

阅读更多

Erlang中的长度

by cnDenis http://cndenis.iteye.com 2013年4月27日

 

值得吐槽的是居然连求长度这么基础的方法,Erlang都没有统一起来。 分为len和size两大对立阵营:

len阵营

  • 列表(字符串是列表的一种)的长度用length/1string:len/1。 别看后面那个打着string开头,对于不是字符串的列表也照用不误, 从源代码看其实就是前一个的马甲。
  • queue模块是len阵营的,使用queue:len/1

size阵营

  • 二进制串的长度用size/1,或是用byte_size/1bit_size/1也行,分别是 比特长度和位长度,1byte = 8bit。
  • 元组的长度也用size/1,等于其元素的个数。元组的比特长度和位长度不可用。
  • dict,sets,orddict,ordsets,array这几个模块也是size阵营的,使用其各自模块 下的size函数。
  • ets比较特别,使用ets:info(Tab, size)来获取长度,Tab是表的id,或是已注册的表的名字。

另外,特立独行的“原子”没有长度。

0
4
分享到:
评论

相关推荐

    Erlang中文手册

    - **模式匹配**: Erlang中的变量支持模式匹配,可以在函数定义中使用。 - **守卫表达式**: 守卫表达式允许在函数定义中添加条件判断。 - **作用域**: 变量的作用域限制了其可见性和生命周期。 - **更多关于列表*...

    RabbitMQ3.9.13和ErLang24.2版本

    5. **监控和管理**:RabbitMQ 3.9.13提供了丰富的管理界面和API,便于监控和管理消息队列的状态,包括查看队列长度、消费速率、节点状态等。同时,它还支持通过Prometheus和Graphite等工具进行性能监控。 接下来,...

    Erlang C计算公式 .pdf

    Erlang C公式的应用不仅限于确定所需的坐席数量,还能帮助分析等待队列长度、平均等待时间和呼叫放弃率,进而优化运营效率和服务质量。通过调整m值,可以找到在满足特定服务水平(如80%的电话在20秒内被接听)下的...

    KMP(Erlang)代码实现

    在给定的文件内容中,通过Erlang语言实现了KMP算法,以下是从文件内容中提取的关键知识点: 1. kmp_search/2函数:这是KMP算法的主函数,用于检查子串(SubString)是否存在于主串(String)中。该函数调用了kmp_...

    Efficiency Guide (erlang)

    列表推导是Erlang中非常强大的特性之一,它们不仅提高了代码的可读性和简洁性,而且通常比手动迭代更有效率。列表推导会自动进行优化,比如提前终止循环以避免不必要的计算。 ##### 1.2.3 误区:尾递归函数比普通...

    Concurrent Programming in ERLANG (P1-90)

    ### 并发编程在Erlang中的应用 #### 标题和描述中的核心知识点解析 **并发编程在Erlang中的应用(Concurrent Programming in ERLANG)** 本标题及描述明确指出了文档的主要内容是关于如何在Erlang语言中进行并发...

    erlang lib of iconv

    Erlang库中的iconv是一个用于字符编码转换的模块,它在处理多语言文本和不同编码格式时扮演着重要角色。Erlang是一种并发、分布式、面向进程的编程语言,常用于构建高可用性和容错性的系统。在这个库中,iconv提供了...

    erlang 笔记

    - **模块定义**: 在Erlang中,所有的代码都包含在模块之中。例如:`-module(tut).` 定义了一个名为`tut`的模块。 - **函数定义与导出**: 函数定义通常使用以下格式:`function_name(arguments) -> expression.` 而`-...

    erlang 语言程序设计

    正如书中引用Joe Armstrong(Erlang语言的主要设计者之一)的话:“Erlang程序模拟了我们思考和互动的方式。”这意味着Erlang的设计原则与现实世界中的对象行为相一致,通过编写能够并行运行的程序来模拟现实世界的...

    HW2.rar_erlang_erlang C

    标题中的“HW2.rar_erlang_erlang C”可能是指一个关于Erlang C模型的作业或项目,存储在名为“HW2”的RAR压缩文件中。Erlang C是一种用于预测电话交换系统中呼叫中心拥塞的数学模型,由通信工程师Agner Krarup ...

    erlang r17官方api及stdlib手册

    在Erlang的stdlib(标准库)中,你可以找到各种用于处理日常编程任务的模块和函数。以下是一些核心模块和它们的关键功能: 1. **lists**: 这个模块提供了处理列表的各种函数,如`append/2`用于连接两个列表,`...

    erlang 基础教程

    匿名函数(Funs)在Erlang中用于高阶编程,它们可以作为参数传递给其他函数或存储在变量中,从而实现灵活的功能组合。 ##### 列表推导 列表推导是Erlang中一个强大的功能,类似于Python的列表推导式,允许基于现有...

    Erlang中遍历取出某个位置的最大值代码

    在Erlang中处理数据集合,尤其是列表(list)结构是很常见的。本文将讨论如何在Erlang中通过遍历列表来获取位于特定位置元素的最大值。 在Erlang中,列表是由一系列元素组成的有序集合,元素可以是任意数据类型,...

    Erlang Reference Manual

    ### Erlang 参考手册概览与核心知识点详解 #### 1.1 引言 ...以上内容仅为《Erlang 参考手册》的部分章节概述,手册中还包含了更多的技术细节和实际案例,旨在帮助读者全面掌握 Erlang 编程语言。

    Erlang项目内存泄漏分析方法

    5. 分析process状态:通过`erlang:process_info()`可以获取特定process的信息,比如其message_queue_len(消息队列长度)。如果发现有process的消息队列中消息未被处理,这可能是导致内存泄漏的原因之一。 6. 定位...

    vmstats:用于生成有关 Erlang VM 的信息的微型 Erlang 应用程序

    vmstats 是一个小型的 Erlang 应用程序,它收集 Erlang VM 上的指标并将它们发送到一个可配置的接收器(例如,StatsD)。 特征 vmstats 收集的不同指标包括: error_logger队列长度 加载的模块数 进程数 进程限制 ...

    RabbitMQ_Erlang

    按照安装向导的指示,接受许可协议,选择安装路径,确保将Erlang添加到系统的PATH环境变量中,以便后续RabbitMQ能够找到它。 2. **安装RabbitMQ**:访问RabbitMQ官方网站,下载适合Windows的RabbitMQ Server安装包...

    binpp::1234:Erlang二进制漂亮打印机

    二进制数据在Erlang中称为`binary`,它由一系列字节组成,可以是任意长度。 **binpp:Erlang二进制漂亮打印工具** `binpp`,全称为"Binary Pretty Printer",是一个Erlang库,其主要功能是将复杂的二进制数据结构...

Global site tag (gtag.js) - Google Analytics