您的位置:首页 > 其它

Erlang 程序设计 学习笔记(一) 基本概念

2016-02-25 18:23 369 查看

Erlang 程序设计 学习笔记(一)

任何语言都是从Hello World 开始的

hellowrold.erl
-module(helloworld).

%% ====================================================================
%% API functions
%% ====================================================================
-export([printHelloWorld/0]).

printHelloWorld()->
io:format("hello world!!!").
%% ====================================================================
%% Internal functions
%% ====================================================================


Erlang中的变量只能赋值一次

Erlang中的变量只能是大写字母开头

(小写字母开头的不是变量,而是符号常量,被称为原子)

Erlang Shell中的命令

Ctrl + A
行首
Ctrl + D或者Dele
删除当前字符

Ctrl + E
行尾
Tab
尝试拓展当前哦模块或函数的名称

Erlang不用担心溢出的牛逼的整数运算

Erlang中的算术表达式遵循一般规则并且可以很长很长 无需担心是否会溢出
例如你可以计算123456789123456789*1234567891123456789*123456789123456789.
可以直接得出结果1881676377434183981909562699940347954480361860897069

div 运算和 rem运算

N div M ->
N除以M 然后 舍去余数
N rem M ->
N除以M剩下的余数

原子的概念

Erlang中,原子是全局性的.不需要宏定义或者包含文件就能实现
原子必须以小写字母开头,后面可以接一串数字,字母,下划线或者at@符号 例如 monday monday_1 monday@sss
原子可以放在单引号中,这种形式的原子可以以大写字母开头 例如 "Monday" , '+' ,
一个原子的值就是它本身

元组

创建一个元组的方法就是用大括号把想要表示的值括起来 , 并用括号分割他们

例如 某个坐标点可以这样定义:
P = {12,45};
但是更直观的做法 我们将第一个元素作为表示该元组是什么
P = {point , 12, 45};

提取元组的值

Point = {point , 12 , 45};
{Point , X , Y } = Point ;
这样就提取了坐标点X 和 Y了.
前提是X和Y都没有赋值过

列表[H|T]

H
: 列表的表头
T
: 列表的表尾

提取列表中的元素

L = [1,2,3,{1,2,3}].
[A|B] = L.
A--->1
B--->[2,3,{1,2,3}]

也可以根据前面知道的多个元素来获取表尾
[1,2|C] = L.
C---->[3,{1,2,3}]

字符串

严格来说,Erlang里没有字符串,Erlang里面的字符串可以用一个由整数组成的列表来表示

Name = "Hello World".

当Shell打印某个列表的值时, 如果列表内的所有整数都代表可以打印字符,他就会打印字符串.否则就会打印成列表
[83,117,114,112,114,105,115,101].
------>"Surprise"
[1,83,2,3].
------>[1,83,2,3].

美元符号语法

不需要知道代表某个字符是哪一个整数,可以把美元符号放在某个字符的前面,用于表示这个字符所对应的的整数

I = $a.
----->97
[$H,$a,$H,$a].
------>HaHa.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: