文章目录
-
- 下载安装与初步使用
- 模块
- 基本类型
erlang教程:基础入门🔥编程基础🔥数据结构🔥递归🔥并发编程
elixir教程:基础入门🔥编程基础🔥模式匹配🔥递归枚举
下载安装与初步使用
下载并安装,然后开始菜单中有对应的图标,打开就能进入erlang的命令行。当然也可以将其安装路径的【bin】文件夹加入环境变量,然后就可以在命令行中输入【erl】进入erlang了。
在erlang
语言中,语句结束需要用.
标示,注释符号为%
。在命令行中,输入一条正确的语句可以直接返回结果
1> 1+1. 2
这个时候有人会问了,要是用.
结尾的话,那我要写个小数怎么办?这个大可不用担心,erlang
还是能分清是小数点和结尾的句号的
2> 3/3.0. 1.0
退出命令行可通过halt().
函数来实现,进出命令行的整个流程如下
>erl Eshell V13.1.4 (abort with ^G) 1> halt(). E:\Documents\00\0219>
变量和函数
在erlang
中变量需用大写字母开头,小写开头的数据类型叫做原子,不可以赋值,而只能作为标识符。而即使是大写字母开头的变量,一经赋值,其实也是不可更改的
1> A = 1. 1 2> A = 2. ** exception error: no match of right hand side value 2
这种不可更改变量的逻辑,加强了函数式的性能。erlang
中的函数定义可以十分简洁而直观,例如像下面这样,Add
就是一个函数,通过->...end
来划分函数块。
Add = fun(X, Y)->X+Y end. Add(1,2). % 返回 3 % erlang用%做注释
切记变量首字母要大写,X, Y
不能写为x, y
,否则成了原子,没法赋值是要报错的,那么原子有什么用呢?
例如现在要做一组弧度角度转换函数,可以写成这种
1> Convert = fun(X,rad)->X/3.14*180; (X,deg)->X/180*3.14 end. #Fun<erl_eval.41.> 2> Convert(3.14, rad). 180.0 3> Convert(360, deg). 6.28
这样一看是不是显得十分简洁。
模块
写好一个函数之后,可将其封装在模块里,在erlang
中,模块需要保存在.erl
文件里,且在编译后可以运行。
-module(deg). -export([convert/2]). convert(X, deg) -> X / 360 * 3.; convert(X, rad) -> X / 3. * 360.
其中,第一行module(deg)
表明这是个模块,模块的名字叫deg
,同时要求文件的名字必须与模块名相同,即deg.erl
。
第二行export([convert/2])
表示准备暴露给调用者的函数为convert
,而convert
这个函数有2个参数。
第三行后面就是convert
的具体内容,这里和命令行中的fun
定义方式稍有区别,但也很容易理解。
将上述代码写入add.erl
之后,可在命令行中编译,并通过deg:convert
的方式进行调用
1> c("deg.erl"). {
ok,deg} 2> deg:convert(360, deg). 3. 3> deg:convert(3.14, rad). 359.184
基本类型
在erlang中,基本的数据类型是数字Number
和原子Atom
,Number
又包括整数和浮点数。erlang
中提供了一些用于数值的函数
类别 | 函数 |
---|---|
三角函数 | sin, cos, tan, asin, acos, atan |
其他函数 | exp, log, abs |
类型函数 | float, is_float, is_integer |
前面提到,原子必须以小写字母开头,其实并不完全。通过单引号括起来的字符也可以当作原子。
Erlang中有两个特殊的原子,即【true】和【false】,属于布尔类型。
此外,erlang中还有位串、元组、映射、列表等类型,相对复杂,故放在后面讲解。
到此这篇并发王者erlang语言编程初步的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/elixirbfbc/2387.html