Erlang 列表
列表属于数据类型里面的集合, 列表是用于存储数据项集合的结构。在Erlang中,列表是通过将值括在方括号 [ ]中来创建的。
实例:
start() -> Lst1 = [1,2,3], io:fwrite("~w~n",[Lst1]). 输出结果是 : [1 2 3]
以下是列表的方法说明:
all: 语法: all(Pred,lst) 如果Pred(Elem)对List中的所有元素Elem返回true,则返回true,否则返回false。
-
Pred −将应用于字符串的谓词函数。
- Lst - 值列表
start() -> Lst1 = [1,2,3], Predicate = fun(E) -> E rem 2 == 0 end, Status = all(Predicate, Lst1), io:fwrite("~w~n",[Status]).
any 语法: any(Pred,lst) 如果 Pred (Elem)对 List 中至少一个元素 Elem 返回 true,则返回 true。
sort 语法:sort(lst) 对元素列表进行排序。Lst是需要排列的元素 返回元素的排列列表
Erlang 文件
使用I / O时,Erlang提供了许多方法。 它具有更简单的类,可为文件提供以下功能-
-
读取文件
- 读取文件
-
{ok, Data} = file:read_file("example.txt"),
io:format("File content: ~s~n", [Data]).
-
- 读取文件
-
写入文件
- 写入文件
-
ok = file:write_file("example.txt", "Hello, world!\n"),
io:format("File written successfully.~n").
-
- 写入文件
-
查看文件是文件还是目录
-
- 检查文件类型
case filelib:is_file("example.txt") of
true -> io:format("It's a file.~n");
false -> io:format("It's not a file.~n")
end.
- 检查文件类型
-
Erlang 原子
在Erlang中,原子是不可变的符号(标识符),通常用于表示常量、命名函数、模块、键和其他数据结构中的键。
原子以小写字母开头,可以包含字母、数字、下划线和 '@'、'#'、'$' 等特殊字符。
1, 将原子用作变量名: Atom = hello. % 将原子 hello 赋给变量 Atom
2, 将原子用作函数名:
say_hello() -> io:format("Hello, world!~n").
invoke_function() ->
say_hello(). % 调用函数 say_hello
3, 将原子用作模块名:
-module(example_module).
-export([example_function/0]).
example_function() ->
io:format("This is an example function.~n").
Erlang 映射
映射是具有可变数量的键-值关联的复合数据类型。映射中的每个键值关联都称为关联对。该对中的键和值部分称为元素。关联对的数量被称为映射的大小。
实例 : K - value 数据类型
-module(helloworld). -export([start/0]).
start() -> M1 = #{name=>john,age=>25}, io:fwrite("~w",[map_size(M1)]).
Erlang 元祖