erlang学习笔记
1.erlang的安装
ubantu下直接使用 sudo apt-get erlang . 该命令会下载erlang及相关的包。
还有种方式是:
wget http://www.erlang.org/download/otp_src_R14B03.tar.gz
cd otp_src_R14B03
./configure --prefix=/usr/xxx/erlang
make
make install
这种方式可能出现的问题是一些依赖的包需要自己去下载,较麻烦!
测试是否已经安装成功,打开一个终端
输入 erl,若是得到如下信息,代表已经安装成功了。
inter12@inter12-desktop:~/fb$ erl
Erlang R13B03 (erts-5.7.4) [source] [smp:2:2] [rq:2] [async-threads:0] [hipe] [kernel-poll:false]
Eshell V5.7.4 (abort with ^G)
2.基本的加减乘除
1> 1.0 + 1.
2.0
2> 2.5*6.
15.0
3> 4.5/9.
0.5
4> -9-1.
-10
5> 4 div 3
5> .
1
6> 4 / 3.
1.3333333333333333
7>
7>
7> 5 rem 3.
2
特别注意:
1.在shell环境下,代表一个命令行的结束是用英文字符下.号
2.可以随意使用浮点行型及integer类型,除法中使用 / 则会得到一个 浮点型的结果,若是需要integer之间的相除,需要使用 4 div 3 -- > 1
3.求余的符号是 rem . 5 rem 3 -- >2
4.可以进行-(负号)的运行
3.变量的赋值
8> _ = 3+3.
6
9> Two = 2.
2
10> two = 3.
** exception error: no match of right hand side value 3
11> Two = 3.
** exception error: no match of right hand side value 3
1.变量名若是英文字符,首字符必须大写,Two=1 -- ok ,two=1 -- fail
2.也可以使用_(下划线)开头定义变量名
3.变量名被赋值后,不允许被再次定义,也就是说在erlang中,每个变量都是常量!再次进行赋值会报错!
4.在shell环境中,如是对于一个变量赋值错误后,可以通过两个函数来清除
f(变量名) -- 清除对该变量的赋值
f(). -- 清除所有变量的赋值
以下就是代码展示:
21> Two = 2.
2
22> Two = 3.
** exception error: no match of right hand side value 3 ------不允许再次赋值
23> f(Two). ------清理变量
ok
24> Two = 3. ------允许再次赋值
3
25> Two = 3.
3
26> Two = 4.
** exception error: no match of right hand side value 4
27> f().
ok
28> Two = 4.
4
4.atoms
1.所有定义为小写的变量 都是原子的,不能被改变,不能被使用.可能是暂时未常量来描述吧!(现在可能理解还存在问题,以后待考)
2.单引号使用的变量等同于不使用单引号的变量 atom = 'atom' -- > atom
32> cat.
cat
33> cat = 1.
** exception error: no match of right hand side value 1
34> Atom is cheated. //若是不带单引号的话 则是变量赋值 ,报错
* 1: syntax error before: is
34> 'Atom is cheated'
34> .
'Atom is cheated'
5.boolean 类型及比较运算符号
38> true and false.
false
39> true or false.
true
40> true xor false.
true
41> not false .
true
42> not (true and true).
false
注意点:
1.and 和 or 都会计算两边的值 ,若是你期望只做一个短路运算的话 ,那么就需要用到 andalso 好 orelse .这个就是类似于 java的 && || 运算符!
50> true andalso kk. //这里有一个很有趣得问题,为什么会得到kk。 很奇怪。还留待考究
kk
51> false orelse true.
true
比较运算符:
56> 5 == 5.0.
true
57> 5 =:= 5.
true
58> 1=/=0.
true
59> 1=:=0.
false
60> 5=:=5.0.
false
61> 5==5.0.
true
62> 1/=3.
true
解析:
1.=:= 等同于其他语言中的 == 。 =/=和/= 等同于其他语言中的 != 这个地方还有疑问!
2.从上面的解析看, =:=比较的类似于java中的内存地址比较 == 比较的是两个地址的值是否相同!
3.其他的还有就是 >= =<
66> 1 >= 1.
true
67> 1 =< 1.
true
68> 1 > 3.
false
69> 1 < 3.
true
对于不同类型之间==比较 同意返回false 。
77> 5 =:= false.
false
78> 5 ==false.
false
但是< 和 >之间的比较 就不同了。先看下面的结果
79> 1 == false.
false
80> 1 < false.
true
在erlang中没有 true和false的布尔类型变量。 这里的 true 和 false 都是 atom.原子单一的变量(可能描述的不准确)。
在erlang中不同类型之间的比较关系如下所示:
number < atom < reference < fun < port < pid < tuple < list < bit string
也就是说用数字类型同其他类型比较的话,都是出于小的一方如下就很明白的说明了这个问题。同时在erlang中所有类型都是可以用来比较的。
80> 1 < false.
true
分享到:
相关推荐
error: /tmp/esl-erlang_26.0.2-1~alinux~3_x86_64.rpm : not an rpm package (or packape manifest): arning: /tmp/rabbitmg-erver 3.12.4-1 all.rpm: Header V4 RSA/SHA512 Signature, key ID 6026dfca: NOKEY ...
因此,如果你计划安装RabbitMQ 3.8.17,那么使用erlang-23.2.3-1.el7.x86_64.rpm或erlang-23.2.1-1.el7.x86_64.rpm作为基础环境是合适的。 为了部署这些软件,你需要先安装Erlang。如果你正在使用RHEL或CentOS 7,...
1. **下载安装包**:访问Erlang官方网站或第三方可信源下载Erlang的Windows版安装程序。确保下载的文件与描述中的文件名一致,即“erlang21.1-windows-64.exe”。 2. **运行安装程序**:双击下载的.exe文件启动安装...
在标题"erlang-22.3-1.el7.x86_64.rpm"中,我们可以解读出几个关键信息: 1. **版本号**:22.3-1表示这是Erlang的一个特定版本,22.3是主版本号和次版本号,而-1可能代表修订或更新次数。 2. **操作系统兼容性**:...
erlang-xmerl-22.3-1.el7.x86_64.rpm,rabbitMQ安装需要依赖此环境。Erlang 是一种多用途编程语言,主要用于开发并发和分布式系统。它最初是一种专有的编程语言,Ericsson 使用它来开发电话和通信应用程序。
- 使用yum安装Erlang:`sudo yum install erlang-23.3.4.3-1.el7.x86_64.rpm` 2. **安装RabbitMQ**: - 下载RabbitMQ RPM包:`wget https://your_download_link/rabbitmq-server-3.8.17-1.el7.noarch.rpm` - ...
esl-erlang_25.0.3-1_centos_7_amd64.rpm erlang_25.0.3-1 rpm用于rabitmq基础环境安装
esl-erlang_24.2.1-1_centos_7_amd64.rpm
erlang 安装包。 rabbitmq 安装所需要的
- 安装:如果系统支持RPM,可以使用`sudo rpm -ivh erlang-rpm-21.3.4.rpm`进行安装。 - 查询信息:`rpm -qpi erlang-rpm-21.3.4.rpm`查看包的详细信息。 - 卸载:如果已安装,使用`sudo rpm -e erlang`(假设包名为...
在标题中的"erlang-18.3-1.el7.centos.x86_64.zip",我们看到的是Erlang的一个特定版本,18.3,针对64位的CentOS 7操作系统(el7)的安装包。这个版本的Erlang包含了必要的组件和服务,使得它能够在CentOS 7上稳定...
erlang-asn1-19.3.6.4-1.el7.x86_64.rpm
erlang-20.3-1.el7.centos.x86_64.rpm
erlang-solutions-1.0-1.noarch.rpm erlang-solutions-1.0-1.noarch.rpm
erlang-24.0.3-1.el8.x86_64.rpm资源
erlang-23.1-1.el8.x86_ ,erlang官网下载很慢,所以提供该下载链接。
erlang-21.3-1.el7.x86_64.rpm rabbitmq基础语言环境。
erlang-xmerl-23.0.3-1.el7.x86_64.rpm,rabbitMQ安装需要依赖此环境。Erlang 是一种多用途编程语言,主要用于开发并发和分布式系统。它最初是一种专有的编程语言,Ericsson 使用它来开发电话和通信应用程序。
erlang-xmerl-22.2-1.el7.x86_64.rpm,rabbitMQ安装需要依赖此环境。Erlang 是一种多用途编程语言,主要用于开发并发和分布式系统。它最初是一种专有的编程语言,Ericsson 使用它来开发电话和通信应用程序。
erlang-24.3.3-1.el9.x86_64.rpm centos