erlang并没有switch这个关键词,只有case,来看代码:
#!/usr/bin/env escript
main(Args) ->
[T|_]=Args,
case T of
"1" ->
io:format("1 match ~n");
"2" ->
io:format("2 match~n");
_ ->
io:format("other match ~n")
end.
保存为switch_case,然后运行
G:\erl>escript.exe switch_case 1
1 match
G:\erl>escript.exe switch_case 2
2 match
G:\erl>escript.exe switch_case 3
other match
_ 在erlang被称为anonymous variable,即 匿名变量. "_"在这里用的还是模式匹配,如果把代码改成下面这样子:
#!/usr/bin/env escript
main(Args) ->
[T|_]=Args,
case T of
_ ->
io:format("other match ~n");
"1" ->
io:format("1 match~n");
"2" ->
io:format("2 match ~n")
end.
那执行结果就是下面这样的:
G:\erl>escript.exe switch_case 1
other match
G:\erl>escript.exe switch_case 2
other match
G:\erl>escript.exe switch_case 3
other match
说明"_"可以匹配任何值,而且只要前面的模式匹配成功,后面的就不再进行匹配,所以顺序很重要
分享到:
相关推荐
**Erlang入门** Erlang是一种面向并发的、函数式编程语言,由瑞典电信设备制造商Ericsson在1986年开发,主要用于构建高度可靠和可扩展的分布式系统。这本书"Introducing Erlang"引领读者踏入这个独特的编程世界,...
erlang是爱立信开发的程序开发语言,融合了函数式编程与面向对象编程,并行处理内建与程序语言内部,特别适合创建并发行、容错性、分布性要求比较高的软实时系统,掌握它程序员必备的一种编程技能,与它相似的语言...
### Erlang 入门学习经典资料解析 #### Erlang 的神秘与起源 Erlang,作为一门相对小众但极具特色的编程语言,自问世以来便伴随着一种神秘的气息。这种神秘感不仅源于它独特的编程范式——函数式编程,还在于其...
3. **启动过程**:Erlang应用通过`start/2`函数启动,通常在`bank1_app.erl`中的`start/2`回调实现。这个函数负责启动应用的监督树,即`Supervisor`,它管理应用的所有进程。 4. **Supervisor**:在Erlang OTP...
在这个"Erlang入门:构建application练习5(监督树)"中,我们将探讨如何构建一个包含监督树的应用,这是Erlang OTP(开放电信平台)设计模式中的核心部分。 监督树是Erlang OTP设计原则的重要组成部分,它用于管理...
我自己在新学erlang,在LeetCode OJ上找了题目练习,题目很适合新手熟悉语言,但是LeetCode OJ里面只有几门主流语言的答案,下面是已完成的erlang源代码,后续有空再做其他问题续传,题目包含:(源码开头都有题目...
列表可以用于存储一系列数据,如`[1, 2, 3]`;而元组`{client, request}`可以表示一个客户端的请求。 Erlang的并发特性体现在进程(process)上,每个进程都有自己的堆栈和消息队列,进程间通过消息传递进行通信。`...
这份名为"Erlang入门ppt"的资料是英文版的,但提供了深入理解Erlang语言的基础。 在20世纪90年代初,软件项目成功率低、大型项目失败率高是一个普遍问题。研究指出,16%的软件项目成功,53%虽然运行但未达到预期,...
而在资产超过3亿美元的公司中,9/10的大型项目遭遇失败。面对这些挑战,人们开始思考如何改进: - 使用高级建模工具自动生成代码? - 提升编程语言的抽象级别? - 解决导致项目失败的所有原因? #### 三、电信行业...
在Erlang中,程序被视为一系列相互独立的函数调用,而不是状态改变的过程。这使得代码更易于理解和测试,因为函数没有副作用,数据不可变。 2. **并发处理** Erlang的并发机制基于轻量级进程(Lightweight ...
3. 进程交互:客户端发送请求(如转账、存款等),服务器进程处理这些请求并可能发送响应。在这个过程中,如果任何一方异常退出,另一方都会接收到`{'EXIT', _, _}`消息。 4. 处理退出信号:当收到`{'EXIT', _, _}`...
Erlang入门手册深入浅出地介绍了Erlang语言的基本概念,包括顺序编程、并行编程、健壮性以及OTP设计原则。它为初学者提供了一个坚实的基础,帮助他们理解Erlang的核心特性,并开始构建并发和容错的应用程序。文档...
1. **Erlang语法**:涵盖基本的变量、数据类型(如原子、列表、元组和二进制)、控制结构(如case表达式和if语句)以及函数定义。 2. **函数式编程概念**:Erlang是纯函数式语言,书中可能会介绍函数式编程的基本...
erlang编程语言圣经 erlang从业人员的必备书籍 erlang语言开发入门
在"Erlang23_3"这个压缩包中,我们可以推测这包含了Erlang的第23个主要版本的第三个修订版。通常,软件版本号的格式是主版本号.次版本号.修订号,所以这里可能是Erlang的稳定版本。该版本可能包含性能优化、新功能、...
"Introducing Erlang"是Simon St. Laurent撰写的一本入门级教程,旨在帮助初学者理解和掌握Erlang的核心概念和特性。 ### 1. 函数式编程基础 Erlang基于函数式编程范式,这意味着程序由纯函数构成,没有副作用。...
erlang基础教程,比较适合初学者学习使用