q().----退出erlang's console
f().----撤销遍历绑定
pwd().--打印当前目录
cd("f:/sinpo").--进入指定目录
c(geometry).--编译文件
geometry:sum(L).--列表求和
Z = fun(X) -> 2 * X end. --匿名函数
%% erl中实现for循环
for(Max,Max,F) -> [F(Max)];
for(I,Max,F) ->[F(I)|for(I+1,Max,F)].
%%map定义
map(_,[]) -> [];
map(F,[H|T]) -> [F(H)|map(F,T)].
%%断言guard,是强化模式匹配的一种结构
max(X,Y) when X > Y -> X;
max(X,Y) -> Y.
%%列表record
record定义: (record定义在.erl源码或.hrl文件中)
-record(todo, {status=reminder,who=joe,text}).
rr("records.hrl"). ----console控制台导入.hrl record
X1 = #todo{status=urgent,text = "this is a test!"}. ---record创建及更新赋值
X2 = X1#todo{status = done}. ---创建X1副本,并改变status字段的值为原子:done
#todo{who = W,text = Txt} = X1. ---模式匹配获得record中字段
X1#todo.text ---点语法获得单个字段
rf().---告诉shell,注释掉记录定义(记录就是元组,只不过使命名元组中不同元素的语法简化而已)
%%case表达式(Guard1->为可选断言)
case Expression of
Pattern1 [when Guard1] -> Expr_seq1;
Pattern1 [when Guard2] -> Expr_seq2;
...
end
例子:filter函数定义
filter(P,[H|T]) ->
case P(H) of
true -> [H|filter(P,T)];
false -> filter(P,T)
end;
filter(P,[]) ->
[].
%%if表达式(Guard1->断言必须)
根据断言验证成功与否决定执行分支
if
Guard1 ->
Expr_seq1;
Guard2 ->
Expr_seq2;
...
end
注:通常if表达式的最后一个断言为true,可保证表达式最后一个分支被求值。
分享到:
相关推荐
### Erlang学习知识点 #### 一、Erlang简介与安装 - **Erlang**是一种通用、并发、函数式编程语言,适用于构建高可用性系统。它在电信行业有广泛应用,同时也被用于互联网服务、分布式计算等领域。 - **安装步骤**...
Joe的那篇erlang论文 Programming Erlang + 源码包 Erlang Programming Concurrent Programming in Erlang efficiecy guide 资源齐全.希望能帮到你.
1. **函数式编程基础**:Erlang是纯函数式语言,这意味着程序中的函数没有副作用,只依赖于输入参数,不改变外部状态。理解函数式编程的核心概念,如不可变数据、高阶函数和模式匹配,是学习Erlang的基础。 2. **...
Erlang学习资料,2本书,不用卖书,电子书足够了
资源名称:Erlang语音学习资料汇总资源目录:【】Erlang程序设计【】[ManningPublications]ErlangandOTPinAction【】[NoStarchPress]LearnYouSomeErlangforGreatGood!ABeginner'sGuide【】[O'ReillyMedia]...
【描述】虽然描述中没有具体的信息,但我们可以假设这是一个博主分享的关于Erlang学习的初步笔记,可能涵盖了基本语法、并发模型以及一些实用工具的使用。 【标签】"源码"和"工具"提示我们,这篇笔记可能包括了...
用于erlang学习资源 一些基本的语言
### Erlang 入门学习经典资料解析 #### Erlang 的神秘与起源 Erlang,作为一门相对小众但极具特色的编程语言,自问世以来便伴随着一种神秘的气息。这种神秘感不仅源于它独特的编程范式——函数式编程,还在于其...
在这个“erlang 连接学习例子”中,我们有两个核心文件:`server.erl` 和 `client.erl`,它们分别代表了一个服务器进程和客户端进程,展示了Erlang中进程间的通信机制。 `server.erl` 文件通常包含一个持续运行的...
1. **并行计算**:Erlang的进程模型使得它能轻松处理大量并发操作,这对于网络游戏中的多玩家同步和实时交互至关重要。每个进程独立运行,通过消息传递进行通信,避免了共享内存带来的复杂性和潜在错误。 2. **热...
### Erlang学习知识点总结 #### 一、简介 在文档“erlang学习2.pdf”中,作者通过一系列示例和代码介绍了Erlang语言的基本概念及其在网络编程中的应用。本篇将围绕文档中的核心知识点进行深入解读,主要包括:构建...
Simon St. Laurent的《Introducing Erlang》这本书深入浅出地介绍了这些概念,是学习Erlang的理想起点。通过阅读这本书,读者将能够理解Erlang如何处理并发、分布式计算和故障恢复,从而构建高效、健壮的软件系统。
### Erlang学习:支持多个连接的TableServer及进程通信详解 #### 一、引言 在Erlang的学习过程中,理解和掌握如何构建能够处理多个连接的服务器是非常重要的一步。本篇文档将详细介绍如何通过Erlang语言实现一个...
Erlang是一种面向并发的、函数式编程语言,由瑞典...这两本书结合阅读,将为初学者提供一个全面的Erlang学习路径,从基础语法到高级并发编程技巧,有助于深入理解Erlang语言及其在构建高并发、分布式系统中的强大能力。
1. **理解基本语法**:通过解决课后习题,学习者可以熟悉Erlang的基本语法,如变量、函数定义、模式匹配、列表操作等。 2. **掌握并发编程**:习题可能包含创建和管理Erlang进程、实现进程间的消息传递,帮助学习者...
学习Erlang时,你需要掌握以下核心概念: - **BEAM虚拟机**:Erlang的运行时系统,全称是BIFs (Built-In Functions)、Erlang、Assembler and Memory管理器。 - **OTP行为**:如Supervisor(监督者)、GenServer...
Erlang是一种面向并发的、函数式编程语言,由瑞典电信设备制造商Ericsson为了实现分布式实时、高可靠性系统而开发。...学习和掌握Erlang22的新特性有助于提升开发效率和应用质量,特别是在构建高并发、分布式系统时。
### Erlang编程语言基础知识 ...通过以上介绍,我们不仅了解了Erlang的基础概念及其优势,还学习了如何安装配置Erlang环境以及简单的Erlang编程方法。希望这些信息能够帮助初学者快速入门Erlang编程。
1. **节点初始化**: 启动多个Erlang节点,并确保它们能够相互发现。 2. **服务部署**: 在每个节点上部署TCP服务器模块(`nano_server`),并配置相应的监听端口。 3. **消息处理**: 当客户端连接时,服务器进程会接收...