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

来源:互联网 发布:玩暗黑3卡顿优化 编辑:程序博客网 时间:2024/06/08 00:15

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.















0 0