Erlang笔记

Erlang安装

官网下载64位安装包,将bin目录放到环境变量中

打开

win+r 中输入”cmd“ 打开控制台,输入werl
在这里插入图片描述
打开erlang命令行工具
在这里插入图片描述

使用

erlang所有的语句都要加句号(.)英文点,比如查看当前目录
在这里插入图片描述
退出当前进程

q().

ctrl+g用法
在这里插入图片描述
控制台输入ctrl+g
h显示帮助

c: 连接一个进程,切换进程
i:打断进程
k: 杀死进程
j: 列出所有进程
s:连接另一个shell,创建新的进程
r:连接远程shell
q:推出erlang
 --> s
 --> j
   1  {shell,start,[init]}
   2* {shell,start,[]}
 --> s
 --> j
   1  {shell,start,[init]}
   2  {shell,start,[]}
   3* {shell,start,[]}
 --> k 2
 --> k 3
 --> j
   1  {shell,start,[init]}

输出一个Hello

创建一个test.erl

% 引入包test,文件名
-module(test).
% 导出函数start,参数为0
-export([start/0]).

% 函数,输出一个hello
start() ->
    hello.
1> pwd().
d:/Code/erlang
ok
2> c(test).
{ok,test}
3> test:start().
hello

数据类型

数值(整数和浮点数)
二进制串
元组
列表
字符串
原子-小写字母开头

4> 111.
111
5> 222222222222.
222222222222
% erlang只有双精度浮点
6> 0.2232.
0.2232
% 二进制
7> 2#01010101.
%16进制
8> 16#fffff.
1048575
% 二进制串0~255
1> <<1, 2, 3>>.
<<1,2,3>>
% 元组
2> {"hello","world"}.
{"hello","world"}
% 元组嵌套
3> {"hello",{"world"}}.
{"hello",{"world"}}
% 列表
4> ["hello","world",{"ok"}].
["hello","world",{"ok"}]
% 字符串
6> "abc".
"abc"
% 列表输出字符串,erlang中字符串跟列表没有区别
7> [97, 98, 99].
"abc"
% $写法
9> [$a,$b,$c].
"abc"
%原子
sadfasdf.
sadfasdf
11> 'ASDF'.
'ASDF'

变量(大写字母开头)

一旦创建无法更改

12> A=10.
10
13> A.
10

demo

输出一个面积

-module(one).
-export([area/1]).

area(Shape) ->
    case Shape of
        {rectangle, W, H} ->
            W * H;
        {square, W} ->
            W * W;
        _ ->
            error
    end.

1> c(one).  
{ok,one}
2> one:area({rectangle,4,5}).
20
3> one:area({square,5}).
25
5> one:area({asdfasdf,321123}).
error

不同的匹配写法,以及if的作用,一般if用的比较少,大部分情况使用case

-module(one).
-export([area/1, start/1]).

% area(Shape) ->
%     case Shape of
%         {rectangle, W, H} ->
%             W * H;
%         {square, W} ->
%             W * W;
%         _ ->
%             argsError
%     end.

% 另一种写法
area({rectangle, W, H}) ->
    W * H;
area({square, W}) ->
    W * W.

%if的作用
start(Num) ->
    if
        Num > 0 -> ok;
        Num < 0 -> false;
        true -> true
    end.

输出

17> one:start(5).
ok
18> one:start(-1). 
false
19> one:start(0).  
true
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值