Erlang入门语法

启动 Shell

# erl
Erlang/OTP 20 [erts-9.0] [source] [64-bit] [smp:1:1] [ds:1:1:10] [async-threads:10] [kernel-poll:false]
Eshell V9.0  (abort with ^G)

简单的整数运算

1> 2+3*4.
14
2> (2+3)*4.
20

变量

1> X=123456.
123456
2> X.
123456
3> X*X*X*X.
232299784284558852096

模式匹配

1> X = (2+4).
6
2> Y = 10.
10
3> X = 6.
6
4> X = Y.
** exception error: no match of right hand side value 10

浮点数

1> 5/3.
1.6666666666666667
2> 4/2.
2.0
3> 5 div 3.
1
4> 5 rem 3.
2
5> 4 div 2.
2
6> Pi = 3.1415926.
3.1415926
7> R = 5.
5
8> Pi * R * R.
78.539815

原子

1> hello.
hello
2> tojohnonly@hotmail.
tojohnonly@hotmail
3> 'Friday'.
'Friday'
4> 'a'.
a

元组

1> {john, 1.80}.
{john,1.8}
2> {point, 10, 45}.
{point,10,45}
3> F = {first_name, john}.
{first_name,john}
4> L = {last_name, wei}.
{last_name,wei}
5> P = {person, F, L}.
{person,{first_name,john},{last_name,wei}}

从元组中提取字段值

1> Point = {point, 10, 45}.
{point,10,45}
2> {point, X, Y} = Point.
{point,10,45}
3> X.
10
4> Y.
45
5> Person = {person,{name,{first,john},{last,wei},{foot_size,40}}}.    
{person,{name,{first,john},{last,wei},{foot_size,40}}}
6> {_,{_,{_,Who},_,_}} = Person. 
{person,{name,{first,john},{last,wei},{foot_size,40}}}
7> Who.
john
%% _ , 表示我们不关心的变量 , 匿名变量 , 各个 _ 绑定的值不必相同

列表

1> ThingsToBuy = [{apple,10}, {pears,6}, {milk,3}].
[{apple,10},{pears,6},{milk,3}]
2> ThingsToBuy_1 = [{orange,4}, {newspaper,1} | ThingsToBuy].
[{orange,4},{newspaper,1},{apple,10},{pears,6},{milk,3}]

从列表中提取元素

3> [Buy_1 | ThingsToBuy_2] = ThingsToBuy_1.
[{orange,4},{newspaper,1},{apple,10},{pears,6},{milk,3}]
4> Buy_1.
{orange,4}
5> ThingsToBuy_2.
[{newspaper,1},{apple,10},{pears,6},{milk,3}]
6> [Buy_2, Buy_3 | ThingsToBuy_3] = ThingsToBuy_2.
[{newspaper,1},{apple,10},{pears,6},{milk,3}]
7> Buy_2.
{newspaper,1}
8> Buy_3.
{apple,10}
9> ThingsToBuy_3.
[{pears,6},{milk,3}]

字符串

1> Name = "Hello".
"Hello"
2> [83, 117, 114, 112, 105, 115, 101].
"Surpise"
3> [1, 83, 117, 114, 112, 105, 115, 101].
[1,83,117,114,112,105,115,101]
4> I = $s.
115
5> [I-32, $u, $r, $p, $r, $i, $s, $e].
"Surprise"

再论模式匹配

1> {X, abc} = {123, abc}.
{123,abc}
2> X.
123
3> f().
ok
4> {X,Y,Z} = {222,def,"cat"}.
{222,def,"cat"}
5> X.
222
6> Y.
def
7> Z.
"cat"
%% f(). 释放所有绑定过的变量

作者 Github : tojohnonly , 博客 : EnskDeCode

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值