我们定义一个小表达语言:1写一个parser(函数expr_parse/1) 把字符转变成erlang表达。例如:“((5+8)*3)” → {mul,{plus,{num,5},{num,8}},{num,3}} ;“((2*3)+(7-2))” → {plus,{mul,{num,2},{num,3}},{minus,{num,7},{num,2}}}
2写一个pretty printer(函数expr_print/1)能够以一种很好的有格式的方式展示出erlang(不要忘了添加括号的个数)
3写一个evaluation(函数expr_eval/1)计算出相应的结果。比如:{mul,{plus,{num,5},{num,8}},{num,3}} → 39
实现一个函数:quicksort/1,它能够用quicksort算法sort一个列表。
(算法:列表的开头,被定为支点元素;剩下的元素可以分成两个列表,一个是比支点元素大的,另外一个是比支点元素小的。然后递归快速排序这两个列表,最后把支点元素加入其中)
用erlang定义hanoi/1(汉诺塔),就是有三个柱子然后可以随意个盘子,从最左端的柱子移到最右端的柱子。不可以小的盘子在大的盘子下面。比如说有三个盘子,需要几步才能从最左边的柱子上移动到最右边的柱子上面?
相关推荐
### Erlang语言程序设计 #### 一、Erlang语言简介与重要性 Erlang是一种功能强大且灵活的编程语言,它最初由爱立信公司开发,旨在为电信系统提供高并发、分布式处理能力。随着时间的发展,Erlang不仅在电信领域...
Erlang并发编程,Erlang程序设计,Erlang中文手册。 学习erlang的好资料。 Erlang是一个结构化,动态类型编程语言,内建并行计算支持。最初是由爱立信专门为通信应用设计的,比如控制交换机或者变换协议等,因此...
【Erlang程序设计(第2版)】是由Erlang之父Joe Armstrong撰写的一本经典著作,专注于介绍Erlang编程语言在并发、分布式和容错系统中的应用。本书适用于初学者和有一定经验的Erlang程序员。作者在书中讨论了如何利用...
- Erlang的程序设计思想是模拟人类的思考和交互方式。 - 通过Erlang的并发模型和消息传递机制,可以模拟现实世界中的交互模式。 3. **Erlang的特性**: - **进程模型**:Erlang的进程不是传统操作系统中的进程,...
在Windows环境下安装RabbitMQ,你需要先安装Erlang环境,因为RabbitMQ是用Erlang编程语言编写的。Erlang是一种面向并发的、函数式的编程语言,特别适合构建高可用、容错性强的分布式系统。文件“otp_win64_22.1.exe...
《Erlang程序设计》这本书,作者是Joe Armstrong,他是Erlang语言的主要开发者之一,对于深入理解和掌握Erlang编程具有极高的指导价值。 本书详细介绍了Erlang语言的基本语法、进程模型、并发编程、错误处理、模式...
通过阅读《Erlang程序设计中文版》并结合提供的完整书签,学习者可以逐步构建起对Erlang语言的全面理解,从而在实际工作中有效地运用Erlang解决复杂的问题。无论你是初学者还是有经验的开发者,这本书都能为你提供...
这个压缩包包含了Erlang程序设计的完整目录和源码,是学习和理解Erlang编程的重要资源。 Erlang的并发特性源于其轻量级进程模型,每个进程都有自己的内存空间,进程间通信通过消息传递实现,这种设计降低了并发执行...
本资源包含了《Erlang程序设计》一书的所有实例代码,旨在帮助读者深入理解Erlang语言的核心特性和实际应用。 **一、函数式编程基础** Erlang作为函数式编程语言,其核心概念包括不可变数据、纯函数和副作用的最小...
在《Erlang编程指南》这本书中,作者Francesco Cesarini和Simon Thompson深入浅出地介绍了Erlang语言的基础和高级特性,涵盖了从进程通信到并发设计模式,再到OTP框架的使用。通过学习这本书,读者可以全面理解...
本资源包含了一本Erlang程序设计的入门经典书籍及其配套源码,适合初学者深入理解Erlang编程。 1. **Erlang简介** Erlang以其强大的并发处理能力而闻名,它采用了轻量级进程模型,使得在单个系统中可以同时运行...
Erlang语言特别适合需要并发处理和高可靠性的场合,例如电信行业、实时交易系统、云服务等。 Erlang的设计理念来自于对并发结构和并行处理需求的认识。CPU多核化和云计算的发展趋势要求程序设计语言能够有效地利用...
文档不仅包括对程序功能的描述,还应当包含对程序设计思想的解释和对潜在问题的预警。 Erlang编程规则的中文翻译版本提供了一系列编程和设计的最佳实践,这些规则和约定是Erlang社区多年经验的结晶。通过遵循这些...
**Erlang程序设计与入门** ...通过阅读《Erlang入门手册》和《Erlang程序设计》这两本书,你可以深入了解Erlang的基础知识、编程技巧以及最佳实践,从而在函数式编程和并发系统的世界里游刃有余。
Erlang虚拟机(Erlang VM,也称为BEAM虚拟机)是Erlang编程语言的核心组成部分,它为Erlang提供了强大的并发特性和故障容错能力。基于Erlang VM的语言充分利用了这些优势,同时也引入了不同语法和编程范式的创新。 ...
### 并发需求下的Scala及Erlang语言的比较与使用 在当今的高并发、大数据处理场景下,选择合适的编程语言对于系统性能至关重要。在众多编程语言中,Scala和Erlang因其强大的并发处理能力和函数式编程特性而受到关注...
Erlang是一种函数式编程语言,由爱立信在1986年开发,主要用于构建高可用性、容错性和并发性的分布式系统。"Introducing Erlang"是Simon St. Laurent撰写的一本入门级教程,旨在帮助初学者理解和掌握Erlang的核心...
Erlang网络编程性能调优之旅 ...本文详细记录了Erlang网络编程性能调优的过程,从基本概念到高级技术,涵盖了Erlang语言的特点、网络编程的技术、性能优化的方法等多个方面,为读者提供了一个全面的知识体系。