【erlang】学习第1天——基础运算、helloworld

基本语法:打开erl  shell后,以小数点结尾作为一条指令的结束。

基本类型:https://www.cnblogs.com/huangxiaoyi/p/5654169.html

一、基础运算

括号里的都是自己的注释。

四则运算

      +   -   *   /

整除 

      div 

求余数

       rem   (相当于java、c里的%)

比较

      > (大于)       <  (小于)       >= (大于等于)         =< (小于等于)       ==(等于)    /=(不等于)    =:= (精确的等于)       

      =/= (精确的不等于

1 == 1.  true

1 =:= 1.0  false

比较运算符大小级别:number < atom < reference < fun < port < pid < tuple < list < bit string

逻辑运算

      不带短路运算符:and (&&)        or(||)        not(!)  

      带短路运算符:orelse   andalso

      逻辑返回值:true、false

位逻辑运算

      band (&)        bor(|)        bnot(~)      bxor(^)    

binary + ( and  or  not  xor)

位移运算

     

匹配运算符

      =

声明进制

      #

2#0100   (二进制的100)      8#7126   (八进制的7126)      16#ae86(十六进制的ae86

 

二、写第一个helloworld

新建一个helloworld.erl,内容如下

%hello world program
%定义模块,模块名必须与文件名相同,否则无法正常加载,必须在第一行声明.
-module(helloworld).
%导入模块
-import(io,[fwrite/1]).
%斜线用于函数定义其接受的参数数量,0表示无参数传递
-export([start/0]).


start()->
    fwrite("Hello,world2!\n").

打开erl,输入一行换一行。

c(helloworld).
helloworld:start().

三、变量

变量全部以大写字母或者下划线开头,这个不是代码参考建议,而是erlang规则,学习之前就听说erlang里变量都是不可变的,就当常量吧。

X = 123.  (V)

_ = 123.  (V)

x = 123.  (X)

四、元祖

{}

五、列表

  [ ]

例: 想扩充列表就可使用 构造器 来扩充,如下格式。

[ 1 | [ ]].

返回[1]

[8,9|[1|[1]]].

返回[8,9,1,1]

[8|9].

返回[8|9]

 

[A|B]=[1,1].

返回[1,1]

[A|B]=[1|1].

报错,因为刚才绑定的数据[1,1]和现在传入的数据[1|1]不一样。

 

[A|B] = [1|[1]].

返回[1,1]

[C|D] = [1|1].

返回[1|1].

[E|F] = [1|1,1].

语法错误

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章