1. 变量首字母必须是大写,并且变量只能进行一次赋值,erlang的变量是单一赋值变量,一个变量一旦被赋值,就无法改变,如下图:
2. 元组(当从元组中提取字段值,首字母需要大写)
/*
* _作为占位符,标识哪些我们不关心的变量,符号_称为匿名变量
*/
2.1 F = {firstName, joe}. L = {lastName, armstrong}.
那么:P = {person, F, L}.的值就是{person,{firstName,joe},{lastName,armstrong}}
![]()
2.2 Person = {person, {name,{first,joe},{last,armstrong}},{footsize,42}}.
{_,{_,{_,Who},_},_} = Person. // 通过这种方式去提取Person中的值,那么输出的Who就是joe
![]()
3. 列表
3.1 ThingsToBy = [{apples, 10}, {pears, 6}, {milk, 3}].
3.2 [1+7, hello, 2-2, {const, apple, 30-20}, 3]. // 将输出[8,hello,0,{const,apple,10},3]
3.3 // 追加新的元素用|(|ThingsToBy表示把ThingsToBy列表的值压入到ThingsToBuy1后面)
ThingsToBuy1 = [{oranges, 4}, {newspaper, 1} | ThingsToBy].
// 输出的值为
[{oranges,4},{newspaper,1},{apples,10},{pears,6},{milk,3}]
![]()
3.4 // 获取元素, Buy1和ThingsToBuy2是自由变量,将列表的头提取到Buy1,将列表的尾部提取到ThingsToBuy2
[Buy1 | ThingsToBuy2] = ThingsToBuy1.
// 那么得到的Buy1就是{oranges,4}
// 得到的ThingsToBuy2是[{newspaper,1},{apples,10},{pears,6},{milk,3}]
![]()
4. 字符串(erlang中并没有字符串,字符串实际是一个整数列表,用""将字符引起来就是一个字符串,必须使用双引号)
4.1 Hello = "Name". // 那么输出Hello.的值就是Name
5. 命令f()可以释放所有绑定过的变量