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
- Erlang 程序设计 学习笔记(一) 基本概念
- Erlang-- 学习笔记4,函数式程序设计
- Erlang 程序设计 学习笔记(五) 顺序编程
- Erlang 程序设计 学习笔记(六) 并发编程
- 《erlang程序设计2》读书笔记-基本概念
- Erlang学习笔记(一)
- Erlang学习笔记(一)
- Erlang学习笔记(一)
- Erlang学习之基本概念
- Erlang程序设计 笔记
- erlang程序设计 笔记2
- Erlang程序设计 笔记
- JavaScript学习笔记(一) 基本概念
- hbase 学习笔记一---基本概念
- UE4学习笔记(一): 基本概念
- JavaScript学习笔记(一) 基本概念
- hbase 学习笔记一---基本概念
- Cookie学习笔记一:基本概念
- Xcode attempted to locate or generate matching&miss iOS development signing identity
- 大型网站架构系列:分布式消息队列(一)
- The Swift Programming Language学习笔记(二十一)——嵌套类型
- android studio引入一个module
- 存储过程加入动态sql
- Erlang 程序设计 学习笔记(一) 基本概念
- Android-PullToRefresh 快速滑动产生的大片留白问题
- iOS 宏(define)与常量(const)的正确使用
- The Swift Programming Language学习笔记(二十二)——扩展
- 原来在内存申请地址也是一个费时的过程
- 大型网站架构系列:消息队列(二)
- Stackoverflow JAVA TOP 100问题翻译征集令
- ubuntu(服务端)+windows(客户端)搭建iscsi
- PAT (Basic Level)1015. 德才论