`
nid007
  • 浏览: 45480 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

erlang入门系列(3) switch case

阅读更多
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入门** Erlang是一种面向并发的、函数式编程语言,由瑞典电信设备制造商Ericsson在1986年开发,主要用于构建高度可靠和可扩展的分布式系统。这本书"Introducing Erlang"引领读者踏入这个独特的编程世界,...

    erlang开发入门教程

    erlang是爱立信开发的程序开发语言,融合了函数式编程与面向对象编程,并行处理内建与程序语言内部,特别适合创建并发行、容错性、分布性要求比较高的软实时系统,掌握它程序员必备的一种编程技能,与它相似的语言...

    erlang入门学习经典资料(很不错)

    ### Erlang 入门学习经典资料解析 #### Erlang 的神秘与起源 Erlang,作为一门相对小众但极具特色的编程语言,自问世以来便伴随着一种神秘的气息。这种神秘感不仅源于它独特的编程范式——函数式编程,还在于其...

    Erlang入门:构建application练习2

    3. **启动过程**:Erlang应用通过`start/2`函数启动,通常在`bank1_app.erl`中的`start/2`回调实现。这个函数负责启动应用的监督树,即`Supervisor`,它管理应用的所有进程。 4. **Supervisor**:在Erlang OTP...

    Erlang入门:构建application练习5(监督树)

    在这个"Erlang入门:构建application练习5(监督树)"中,我们将探讨如何构建一个包含监督树的应用,这是Erlang OTP(开放电信平台)设计模式中的核心部分。 监督树是Erlang OTP设计原则的重要组成部分,它用于管理...

    erlang入门级练习:LeetCode OJ问题的部分erlang 源码

    我自己在新学erlang,在LeetCode OJ上找了题目练习,题目很适合新手熟悉语言,但是LeetCode OJ里面只有几门主流语言的答案,下面是已完成的erlang源代码,后续有空再做其他问题续传,题目包含:(源码开头都有题目...

    erlang 入门练习

    列表可以用于存储一系列数据,如`[1, 2, 3]`;而元组`{client, request}`可以表示一个客户端的请求。 Erlang的并发特性体现在进程(process)上,每个进程都有自己的堆栈和消息队列,进程间通过消息传递进行通信。`...

    Erlang入门ppt

    这份名为"Erlang入门ppt"的资料是英文版的,但提供了深入理解Erlang语言的基础。 在20世纪90年代初,软件项目成功率低、大型项目失败率高是一个普遍问题。研究指出,16%的软件项目成功,53%虽然运行但未达到预期,...

    Erlang初级入门(英文pdf)

    而在资产超过3亿美元的公司中,9/10的大型项目遭遇失败。面对这些挑战,人们开始思考如何改进: - 使用高级建模工具自动生成代码? - 提升编程语言的抽象级别? - 解决导致项目失败的所有原因? #### 三、电信行业...

    erlang程序设计与入门

    在Erlang中,程序被视为一系列相互独立的函数调用,而不是状态改变的过程。这使得代码更易于理解和测试,因为函数没有副作用,数据不可变。 2. **并发处理** Erlang的并发机制基于轻量级进程(Lightweight ...

    Erlang入门:构建application练习4(进程link的作用)

    3. 进程交互:客户端发送请求(如转账、存款等),服务器进程处理这些请求并可能发送响应。在这个过程中,如果任何一方异常退出,另一方都会接收到`{'EXIT', _, _}`消息。 4. 处理退出信号:当收到`{'EXIT', _, _}`...

    erlang入门手册

    Erlang入门手册深入浅出地介绍了Erlang语言的基本概念,包括顺序编程、并行编程、健壮性以及OTP设计原则。它为初学者提供了一个坚实的基础,帮助他们理解Erlang的核心特性,并开始构建并发和容错的应用程序。文档...

    erlang资源

    1. **Erlang语法**:涵盖基本的变量、数据类型(如原子、列表、元组和二进制)、控制结构(如case表达式和if语句)以及函数定义。 2. **函数式编程概念**:Erlang是纯函数式语言,书中可能会介绍函数式编程的基本...

    erlang编程指南

    erlang编程语言圣经 erlang从业人员的必备书籍 erlang语言开发入门

    Erlang23_3.zip

    在"Erlang23_3"这个压缩包中,我们可以推测这包含了Erlang的第23个主要版本的第三个修订版。通常,软件版本号的格式是主版本号.次版本号.修订号,所以这里可能是Erlang的稳定版本。该版本可能包含性能优化、新功能、...

    erlang编程 Introducing Erlang

    "Introducing Erlang"是Simon St. Laurent撰写的一本入门级教程,旨在帮助初学者理解和掌握Erlang的核心概念和特性。 ### 1. 函数式编程基础 Erlang基于函数式编程范式,这意味着程序由纯函数构成,没有副作用。...

    erlang 基础教程

    erlang基础教程,比较适合初学者学习使用

Global site tag (gtag.js) - Google Analytics