在处理文本文件的时候,基本上是以行为单位处理,特别是unix,无数的工具和算法基于这个line.
erlang在这方面支持的也非常好,极大的方便了用户。 erlang的数据大概有4个来源,在最近的R13B02这些来源都支持行读。
1. IO比如标准输入。
io:get_line([IoDevice,] Prompt) -> Data | eof | {error,Reason}
Types:
Reads a line from the standard input (IoDevice), prompting it with Prompt.
2. port,就是unix的管道,从其他的程序读取。
open_port(PortName, PortSettings) -> port()
{line, L}
Messages are delivered on a per line basis.
3. 文件。
file:read_line(IoDevice) -> {ok, Data} | eof | {error, Reason}
%%新加入的特性
Reads a line of bytes/characters from the file referenced by IoDevice.
4.网络。
底层调用的都是这个函数解码。
decode_packet(Type,Bin,Options) -> {ok,Packet,Rest} | {more,Length} | {error,Reason}
line
A packet is a line terminated with newline. The newline character is included in the returned packet unless the line was truncated according to the option line_length.
结论:
有了这些特性, 我等就无需自己费心费力的去分解行, 把轻松留给我们,谢谢erlang.
分享到:
- 2009-09-24 22:26
- 浏览 2209
- 评论(6)
- 论坛回复 / 浏览 (6 / 2412)
- 查看更多
相关推荐
1. **语法高亮**:Erlang的语法特性被准确地识别和突出显示,使得代码更易读,减少错误的可能性。 2. **代码自动完成**:智能感知功能能根据输入的字符自动提供可能的函数或变量名,节省了大量键入时间。 3. **错误...
Mnesia 是Erlang的分布式数据库系统,适合读多写少的场景。它提供了软实时性,大部分数据存储在本地内存,支持水平分割和数据冗余,可以自动在节点间进行数据迁移。Mnesia 与其他数据库(如UnixODBC)可交互,但存在...
OTP是Erlang的标准库和开发框架,它提供了大量的预构建模块,支持进程管理、分布式计算、故障恢复和监控等功能,使得开发者可以方便地构建可靠和高效的系统。 安装Erlang OTP的步骤如下: 1. 解压"erlang_win64....
8. **热升级(Hot Code Swapping)**:Erlang支持运行时代码替换,无须停止服务即可更新系统。习题可能要求设计和实现热升级方案。 9. **状态管理**:Erlang中的状态管理通常通过行为(如GenServer)来实现。习题...
Erlang的分布式数据库Mnesia则提供了一种实时性较强、支持水平分割和数据冗余的解决方案,特别适合读多写少的场景。 Mnesia数据库在Erlang生态系统中扮演着重要角色,它可以避免传统数据库的实时性问题和IPC通讯...
5. **模式匹配与函数选择**:Erlang的模式匹配允许开发者在函数定义中指定参数模式,使得代码更简洁、易读。同时,Erlang的函数选择机制允许根据不同的参数类型执行不同的逻辑,进一步增强了其灵活性。 6. **热更新...
### 思维转换:从过程式到Erlang函数式编程 #### 引言 《思维转换:在Erlang中的函数式编程》是一本专...无论你是希望提升技能还是探索新的编程范式,《思维转换:在Erlang中的函数式编程》都是一本值得一读的好书。
Erlang则是以支持高并发和函数式编程而著名的语言。本文将对这三种语言进行对比分析,并给出一些示例代码。 Go语言的设计核心思想在于简洁、高效和并发。它继承了C语言的语法风格,Pascal的面向对象设计,以及CSP的...
在C#端,`System.Net.Sockets`命名空间提供了对TCP/IP的支持,`HttpClient`类可以处理HTTP请求。对于自定义二进制协议,可能需要使用`BinaryReader`和`BinaryWriter`类来读写二进制数据。 通信协议的设计是关键。...
《Erlang程序设计(第2版)》便是一本面向初学者的经典教材,提供了丰富的基础知识和深入的讨论,对理解和掌握Erlang语言有极大帮助。 对于Erlang的安装,目前有多种方式,官方推荐使用包管理器进行安装。在Ubuntu...
Erlang Mode为Erlang语法提供了独特的颜色标记,使得代码更易读,有助于快速识别关键字、变量、函数等元素,从而减轻视觉疲劳,提高编程效率。 除此之外,Erlang Mode可能还包括错误检测和警告提示。它能实时分析源...
例如,日期时间格式更加规范,增加了对标签的支持,提高了解析的灵活性。yamerl库遵循这一规范,确保用户在Erlang环境中能够正确解析符合YAML 1.2标准的文件。 ### 2. Erlang库的特性 - **纯Erlang实现**:yamerl...
2. 支持对复杂数据结构的高效处理。 3. 提供了一种新的编程范式,增加了Lua的表达能力。 缺点: 1. 学习曲线较陡峭,特别是对于不熟悉Erlang风格模式匹配的开发者。 2. 可能会影响代码的性能,因为模式匹配通常涉及...
1. **语法高亮与代码提示**:Erlide提供Erlang源代码的语法高亮,使得代码更易读。同时,它还具有代码补全功能,帮助开发者快速输入常见的Erlang函数和模块名。 2. **代码导航**:Erlide支持快速跳转到函数定义,...
jsx支持两种解析模式:安全解析(safe parsing),它会检查JSON是否符合规范;以及宽松解析(loose parsing),允许非标准的JSON语法。 2. 序列化(Encoding):相反的过程是将Erlang术语编码为JSON格式。jsx能将...
《Homelander:Erlang OTP支持下的简单Shell命令监控》 在IT行业中,系统监控是维护稳定运行的关键环节,而Homelander是一款基于Erlang OTP(Open Telecom Platform)框架构建的简单shell命令监控工具。它允许用户...
3. **模式匹配**:Erlang的模式匹配允许在函数定义中直接对参数进行解构和比较,使得代码更加简洁和可读。 4. **错误处理与容错**:Erlang采用“let it crash”哲学,鼓励程序在遇到错误时崩溃,然后由监督树自动...
Erlang是一种面向并发的、函数式...利用TeX,我们可以生成高质量的文档和图形,使Erlang的架构和编程原则更加易读和易于教学。在实际应用中,这样的可视化工具对于开发者、教育者以及初学者来说都是极其宝贵的资源。