Erlang编程入门:探索Erlang Shell与基本运算

需积分: 49 4 下载量 10 浏览量 更新于2025-01-09 收藏 202KB DOC 举报
"Erlang中文编程入门教程" Erlang是一种高级并发编程语言,最初由爱立信开发,用于构建高可用性、分布式和实时系统。这篇初学者指南旨在介绍Erlang的基础知识,特别是针对中文使用者。 1. Erlang Shell Erlang Shell是学习和测试Erlang代码的主要工具,它允许用户直接在命令行中执行代码并查看结果。在多数操作系统上,通过输入`erl`启动Erlang Shell。启动后,你会看到一个类似于`1>`的提示符,等待你输入Erlang表达式。例如,输入`2+5.`(注意句号)会返回结果7。Shell中的标号会随着每次输入递增,以便追踪不同的输入和输出。错误的输入可以通过退格键删除,Shell也支持一些基本的编辑命令。 2. 运算符与表达式 Erlang支持常见的数学运算符,如`*`(乘法)和`/`(除法)。在Shell中,可以尝试更复杂的计算,比如`(42+77)*66/3.`,得到结果2618.00。Erlang还支持其他的运算符,包括加法`+`、减法`-`、比较运算符(`==`、`/=`, `<`, `>`, `=<`, `>=`)等,将在后续的学习中逐步接触。 3. 退出Erlang Shell 要退出Erlang Shell,可以按`Ctrl+C`触发BREAK模式,然后选择`a`来退出,或者直接在Shell中执行`halt().`命令。 4. Modules and Functions(模块与函数) Erlang程序通常组织成模块(Module),每个模块包含一系列函数(Function)。模块名与包含的源文件名相同,扩展名为`.erl`。函数是Erlang程序的基本执行单元,用`-module(ModuleName)`定义模块,用`-export([FunctionName/Arity])`导出可被其他模块调用的函数。例如: ```erlang -module(mymodule). -export([myfun/1]). myfun(X) -> X + 1. ``` 在这个例子中,`mymodule`模块包含一个名为`myfun`的函数,它接受一个参数(Arity为1)并返回其加1的结果。 5. Function Calls(函数调用) 调用已导出的函数,如`mymodule:myfun(5)`,会在Shell中返回6。函数调用可以嵌套,也可以结合运算符进行更复杂的计算。 6. Pattern Matching(模式匹配) Erlang的函数定义允许模式匹配,使得函数可以根据不同的输入执行不同的代码路径。例如: ```erlang -module(mymodule). -export([greet/1]). greet("Alice") -> "Hello, Alice!"; greet("Bob") -> "Hi, Bob!"; greet(_X) -> "Greetings, stranger!". ``` 这里的`greet/1`函数根据传入的参数返回不同的问候语。 7. Concurrency and Processes(并发与进程) Erlang以其强大的并发能力著称。每个Erlang进程是轻量级的,用于独立地执行任务。进程间通信通过消息传递完成,使用`spawn`创建新进程,`send`发送消息,`receive`接收消息。这种模型使得Erlang在构建分布式系统时表现出色。 8. OTP(Open Telecom Platform) OTP是Erlang的开发框架,提供了一套标准库和设计原则,帮助开发者构建可靠、容错的系统。它包含了如Supervision Trees(监督树)和GenServer等组件,简化了并发程序的管理和错误处理。 以上只是Erlang编程的冰山一角,随着深入学习,你会发现Erlang在并发处理、容错系统、网络编程等方面的优势。继续探索Erlang的世界,你将能够利用它的特性构建高效且可靠的软件解决方案。