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

erlang之旅(1)

 
阅读更多

erlang之旅(1)

 

 

语句结束用一个句点和换行。

 

整数采用不定长的整数,没有误差,也会溢出。

 

变量名必须是大小字母开头。

 

变量分自由变量和绑定变量,自由变量可以接受任何值,自由变量接受任何值后就变成绑定变量,绑定变量不能再接受任何值。-----(变量不变)。

 

=为模式匹配符号,而非一般理解上的赋值符号。

 

单一赋值有益于编写更高质量的代码。

 

Erlang没有可变状态,也就没有共享内存,更加没有锁,这一切都有益于并行化程序的编写。

 

 "/"除法永远返回浮点数结果,div返回整数除结果,而rem返回余数。

 

原子是以小写字母开头,后面跟数字字母或下划线“_”或邮件符号“@”。

 

原子用来表示不同的非数字常量值。

 

tuple,元组,是若干个用逗号分隔的值以一对花括弧括起来。

 

 在”=“的模式匹配中,可以使用符号”_“作为占位符,表示那些我们不关心的值,符号“_”称为匿名变量。

 

list,列表就是将若干个用逗号分隔的值以一对中括弧括起来。列表的第1个元素称为头head,第1个之后的全部元素称为尾tail。

 

可以使用模式匹配从列表中提取元素。假设有1个非空列表L,那么表达式[X|Y]=L,可以把列表L的头提取到X,列表的尾提取到Y。

 

 在Erlang中没有字符串,字符串实际上是一个整数列表。用双引号“”将一串字符括起来就是字符串。

 

可以用$符号来表示字符的整数值。

 

命令f()会释放shell中所有绑定过的变量。f()执行后所有变量就又变回自由变量。

 

模块是erlang代码的基本单元,编写的所有函数都存于模块中,模块存放在以.erl为扩展名的文件中。.erl文件编译后生产.beam文件。(beam=Bogdan's Erlang Abstract Machine)

 

1个函数可以由多个子句构成,子句之间用分号分隔,最后1个子句以句点为结束符。每个子句都由1个函数头和1和函数体构成,函数头由函数名和随后的以小括号括起来的模式组成,函数体由一系列表达式组成。

 

 在Erlang的shell中,pwd().查看当前路径,cd("目录"). 更换当前工作目录,c(.erl文件名不带后缀名).编译.erl代码文件为.beam文件。(注意命令最后都有个句点表示结束)

 

用模块名和函数名精确定位要执行的函数。

 

在Erlang中会遇到3种标点符号:逗号(,)、句号(.)、分号(;)。

逗号(,):用来分隔函数调用、数据构造器以及模式中的参数。

句号(.):用来在shell中分隔完整的函数和表达式。

分号(;):用来分隔子句,分段的函数定义、case语句、if语句、try...catch语句以及receive表达式。

 

arity,函数的目就是函数具有的参数数量。在erlang中,如果同一个模块中的2个函数,如果同名但是目不相同,则这2个函数被认为是完全不同的。这2个函数之间除了名字恰巧相同之外,彼此之间再无其他关联。

 

辅助函数,一般是同名但不同目的函数。

 

fun就是匿名函数。fun既可以作为函数的参数,也可以作为函数的结果。

 

erlang是1种函数式的编程语言。

 

lists,标准库中的一个模块。

lists:map(F,L) 这个函数将fun F应用到列表L中的每一个元素,并返回一个新的列表。

lists:filter(P,L) 这个函数返回一个新列表,新列表由列表L中每一个能满足P(E)为true的元素组成。

像map、filter这样在一个函数调用中处理整个列表的操作称为list-at-a-time操作。

 

 =:= 恒等测试符号。

 

如果你的模块恰巧使用了系统模块的名称,那么编译时会得到一个奇怪的消息,告诉你不能从保留目录中加载模块,你只需要重新命名,并删掉之前编译生成的beam文件即可。

 

分享到:
评论

相关推荐

    走向Erlang网络编程性能调优之旅

    Erlang网络编程性能调优之旅 Erlang是一种功能强大的编程语言,擅长于开发高性能的网络应用程序。在这篇文章中,我们将探索Erlang网络编程性能调优的旅程,从开始的简单连接压力测试到最后的高性能网络服务器的实现...

    二郎助手erlang开发工具、erlang编辑器

    通过安装这个工具,开发者可以立即开始他们的Erlang开发之旅。对于新手,二郎助手降低了学习Erlang的门槛;对于经验丰富的开发者,它则提供了更高效的工作流。 总结来说,二郎助手是Erlang开发者的理想伙伴,它集成...

    Erlang_otp_win64_24.0.zip

    Erlang OTP (Open Telephony Platform) 是一种高级编程语言,专为构建高并发、分布式、容错性强的系统而设计。在标题“Erlang_otp_win64_24.0.zip”...开发者可以通过下载并安装这个压缩包,开始他们的Erlang开发之旅。

    erlang-stdlib-注释版

    2. `更多erlang资料下载.txt`:这个文本文件很可能是链接或指引,指向其他有关Erlang的资源,比如教程、案例研究、工具或者额外的库,方便用户进一步扩展他们的Erlang学习之旅。 综上所述,这个压缩包提供了一个...

    erlang闪电入门

    Erlang是一种专为高度并发性、分布式计算、和容错性设计的编程语言,...通过《Erlang闪电入门》这本书,读者可以获得对Erlang语言和其背后哲学的快速理解,并能在短时间内入门这一编程语言,开始自己的Erlang编程之旅。

    Erlang在eclipse4.2.2里的开发编译工具

    安装完成后,即可创建新的Erlang项目,并开始你的Erlang编程之旅。 在压缩包文件`erlide-pu`中,可能包含了Erlide插件的更新包或者配置文件,用于升级现有的Erlide或者解决特定版本Eclipse中的兼容性问题。安装或...

    Thinking in Erlang

    《思维转换:在Erlang中的函数式编程》不仅是一本实用的手册,更是一次思想上的转变之旅。它不仅教会读者如何使用Erlang,更重要的是引导读者理解和接受函数式编程的理念,从而更好地应对现代软件开发中的挑战。无论...

    erlang-jupyter:Erlang Jupyter内核

    诸如历史记录保存,执行计数器和输出之类的通用功能都在该库中进行处理,以便人们可以专注于各个行为。 用法 要实现内核,必须实现行为jup_kernel_backend 。 唯一需要的功能是do_execute和do_kernel_info 。 然后...

    elixir安装

    现在,你已经成功安装了Elixir,可以开始你的Elixir编程之旅了。尝试创建一个`.exs`文件,输入一些简单的Elixir代码,然后用`iex your_file.exs`运行它。 例如,创建一个名为`hello.exs`的文件,写入: ```elixir ...

    Seven Languages in Seven Weeks.pdf

    ### 《七周学会七种语言》:编程领域的一次多范式探索之旅 #### 标题解析 - **标题**:“Seven Languages in Seven Weeks”(七周学会七种语言) - 这个标题非常直观地传达了本书的核心内容与目标——在短短七周的...

    傅强-当当在大数据挖掘分析与管理—个性化精准营销方面的探索 当当网在个性化推荐&精准营销方面的探索 共26页.pdf

    以“探索”为主线,让各位同学跟我一起亲身经历一次2006年至今的当当网个性化推荐&精准营销技术探索&架构革新之旅” 着时间的推移,2009、2010互联网各种新技术层出不穷:hadoop、erlang、gearman等等。这些新技术...

    99-Problems:著名的“函数式编程中的 99 个问题”的有效解决方案

    《函数式编程中的99个问题》是一套广泛认可的编程练习集,旨在帮助程序员提升在函数式编程领域的技能和理解。...无论你是Erlang新手还是经验丰富的开发者,挑战这些问题都将是一次有益的学习之旅。

    eric5-5.4.1

    通过下载并安装 "eric5-5.4.1.zip",用户可以获得 Eric IDE 的所有功能,从而开始他们的 Python 或 Erlang 开发之旅。在使用过程中,用户可以根据需要查阅官方文档,了解如何配置和优化 IDE,以满足个人或团队的开发...

    journey-towards-property-based-testing:学习基于属性的测试的练习和资源。 非常欢迎评论和参与。

    迈向基于属性的测试之旅 在 Erlang 中进行基于属性的测试的一些实验,使用 ,我以后将其称为Triq 。 问题的关键是探索基于测试从几年例如基于测试的到来财产,并学会写属性,而不是例子,以了解其对“主流TDD”的...

    7mli7w:在七周内通过另外七种语言绘制我的进度

    我真的很喜欢布鲁斯·泰特 (Bruce Tate) 的《的》一书,在这本书中,您可以体验 Clojure、Haskell、Io、Prolog、Scala、Erlang 和 Ruby 的旋风之旅,对每种语言进行足够的学习,从而获得一种风格和用它建造一些小...

    seven languages in seven weeks

    ### 《七周学会七种语言》:编程语言探索之旅 #### 一、书籍概览与价值 《七周学会七种语言》是一本旨在帮助读者快速了解并掌握七种不同编程语言及其背后编程范式的书籍。这七种语言分别是 Ruby、Io、Erlang、...

    SDL基础教程

    ### SDL基础教程:游戏开发者的跨平台利器 #### 1. SDL是什么? SDL,全称为Simple ...通过本教程,无论是游戏开发的新手还是有经验的开发者,都能掌握利用SDL进行游戏开发的基本技巧,开启自己的游戏制作之旅。

    GO编译开发环境安装包-Windows

    **Go(Golang)编程语言简介** Go,也被称为Golang,是由Google开发的一种静态类型的、...通过安装提供的`go1.11.2.windows-amd64.msi`文件,用户可以在Windows系统上搭建起Go的开发环境,从而开始他们的Go编程之旅。

    learning-programming-languages::graduation_cap:学习编程语言的游乐场

    在编程世界中,选择一种合适的语言来学习是开启技术之旅的关键步骤。"学习编程语言"这一主题涵盖了多种语言,从Erlang到Go,再到Haskell、Idris、Nix、Rust和Scala,每种语言都有其独特的特性和应用场景。让我们深入...

    scenic:核心风景图书馆

    核心风景图书馆 Scenic是直接在Elixir / Erlang / OTP堆栈上编写的客户端应用程序库。 借助它,您可以构建在...” 运行设备的逻辑应该在设备上,并且即使与之对话的服务不可用,它也应保持可操作状态。 可维护性:

Global site tag (gtag.js) - Google Analytics