erlang学习之基础语法

本文介绍了Erlang编程语言的基础语法,包括if和case语句的使用,强调了条件判断结束时不需分号。此外,讨论了Erlang程序的进程特性,指出进程执行模块中的函数,模块以.erl为扩展名,需要编译后才能运行。最后,提到了编写并运行'Hello,World'程序的初步步骤。" 129222935,8753399,Matlab: 双Y轴结合线图与条形图,"['开发语言', 'Matlab', '数据可视化']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.变量与数据类型:
    <1>每一条表达式都必须以一个句号后接一个空白字符结尾。(形如:12*13.  )
    <2>erlang是一种函数式语言,一旦定义了x=123,那么x永远是123,不允许改变。(即erlang中不能重新绑定变量)
    <3>变量和原子:
        i.erlang的变量以大写字母开头,如X、A_long_name等
        ii.以小写字母开头的名称不是变量,而是符号变量,称为原子。(x=123是错误的,x应该大写)
    <4>erlang中每个文件就是一个模块
    <5>erlang的注释都是以%开头的
2.数据类型
        <1>常量:以小写字符开头,如charis、inch等,常量仅仅只是一个名字,不像变量一样带有自身的值。
        <2>元组:元组用"{}"来表示,元组可以包含任何合法的erlang内容。
        <3>列表:列表用"[]"表示,(注:erlang允许在非敏感的地方换行)可以是用"|"来分离列表中的元素。如"[E1,E2,E3,....,Em|Er]=[1,2,3,....,n]."代表"E1,E2,E3,....,Em"分别对应列表中的前m个元素,"Er"代表列表中剩下的元素。如果想获取超出表中的元素,则会发生错误,但是有一个特殊情况,就是获取一个空列表
1> [A,B,C,D|E]=[1,2,3,4,5,6,7,8].
[1,2,3,4,5,6,7,8]
2> A.
1
3> E.
[5,6,7,8]
4> [R1,R2,R3|R4]=[1,2].
** exception error: no match of right hand side value [1,2]
5> [T1,T2|T3]=[1,2].
[1,2]
6> T3.
[]

3.控制语句
<1>if语句
格式”
if
Condition 1->
Action1;
Condition 2->
Action2;
Condition 3->
Action3
end.

注意:end前面的最后一个条件是没有”;”的。
<2>case语句
格式”
case — of
Condition1->
Action1;
Condition2->
Action2;
Condition3->
Action3
end;

注意:end前面的最后一个条件是没有”;”的。
4. 进程、模块和编译
erlang程序是由许多并行的进程构成的。进程负责执行模块里定义的函数。模块则是扩展名为.erl的文件,运行必须先编译它们。编译某个模块之后,就可以执行该模块中的函数了。
5.书写并运行”Hello,World”
用文本编辑器编写一个hello.erl文件,内容如下:

-module(hello).告诉我们模块的名字为hello,模块名必须与保存这段代码的文件名相同。
-export([start/0]).告诉我们模块中有一个start函数可以被外部调用,该函数的参数有0个。假如该模块有两个函数face和mult,参数分别有1个和2个,则写成:-export([fac/1,mult/2]).

start()->
    io:format("Hello,World~n").
<1>在erlang shell里编译并运行:
    从保存hello.erl的目录里启动erlang shell,并执行下面操作:
1> c(hello).
{ok,hello}
2> hello:start().
Hello,World
ok
3> halt().
讲解:c(hello) 命令是编译hello.erl文件,{ok,hello}代表编译成功,hello:start()代表执行模块里的函数,halt()停止了erlang shell。
<2>在erlang shell外编译
    在操作系统的命令行里编译和运行前一个例子中的代码:
charies:Desktop weichuang$ erlc hello.erl 
charies:Desktop weichuang$ erl -noshell -s hello start -s init stop
Hello,World
charies:Desktop weichuang$ 
讲解:erlc从命令行启动了erlang编译器。编译器编译了hello.erl里的代码Bing生成一个名为hello.beam的目标代码文件。al -noshell -s 命令加载了hello模块并执行hello:start()函数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值