Amaze UI Logo

码动指尖



Erlang初体验

接下来是时候揭开一门新语言的篇章了(对我来说是新的).

搜索到的资料显示,Erlang是一种面向并发(Concurrency Oriented),面向消息(Message Oriented)的函数式(Functional)编程语言。之前没有接触过,各种原因之下,来了兴趣,开始挖坑之旅。


安装过程就简略介绍一下,我的mac 12.6是源码安装的,下载自己对应的版本,然后./configure --prefix=安装路径  make && make install ,然后将其bin目录添加到PATH路径即可。

下载链接:http://erlang.org/download/

1. 进入shell

打开命令行(windows => cmd, Linux or Mac => Terminal)

输入erl即可进入Erlang shell


2. 退出或者重启运行时系统

输入halt().  或者按 ctrl+C(根据提示输入a)回车即可退出

此外  模块init包含用于重新启动,重新启动和停止运行时系统的功能:

init:restart() %%重启
init:reboot() %% 重启
init:stop() %%停止

有关详细信息,请参阅 ERTS中的init(3)手册页。


3. 模块与函数

-module(test).
-export([]).

printData(data) ->
data.


4. 编译模块并运行函数

进入命令行,然后依次输入以下语句

c(test)

test:printData("Hello, Erlang")


5. 注意事项

Erlang每句话都需要在最后加一个  .  就相当于C++等语言后面要加个  ;  表示这一句话结束了,计算机才能判断运行到哪里。


6. 原子类型

刚开始看这玩意我有点懵的,但是一看解释,原来他其实就相当于是一个名字,没有其他含义。与变量不同的一点是,变量有值,原子类型并没有。

但是我们可以用它来进行判断,执行哪一个程序。例如下:

-module(atom).
-author("yy").

%% API
-export([convert_length/1]).



convert_length({centimeter, X}) ->
{in, X / 2.54};

convert_length({in, Y}) ->
{centimeter, Y * 2.54}.

在命令行如果调用

atom:convert_length({centimeter, 5}).

则会进行查找,根据centimeter(名字)来查找,对应了之后就调用它。相当于C++的函数重载,根据参数来进行判断(自我认为,有错请联系我或者留言,谢谢大佬)


7.数学运算符

数学运算符 

op Description Argument type 

+ 一元 + number 

- 一元 - number 

+ 加法 number 

- 减法 number 

* 乘法 number 

/ 浮点除法 number 

div 整数除法 integer 

bnot 一元 not 位运算 integer 

rem 整数求余 integer 

band 与运算 integer 

bor 或运算 integer 

bxor 异或运算 integer 

bsl 左移运算 integer 

bsr 右移运算 integer






 Erlang

作者  :  奕弈

喵喵喵,你在心上



评论


About ME

about me

奕弈

为了最初的心,努力奋斗,从不懈怠的学习。

我不想成为一个庸俗的人。十年百年后,当我们死去,质疑我们的人同样死去,后人看到的是裹足不前、原地打转的你,还是一直奔跑、走到远方的我?

Contact ME