附录C 标准库

翻译:赵卫国

附录C 描述了 Erlang 标准库模块的一些函数。

io

Io 模块提供了基本的输入输出。这儿的所有函数都有可选参数Dev它是一个用于输入输出的文件描述符。默认值是标准输入输出。

format([Dev],F,Args) 按格式F输出参数Args
get_chars([Dev],P,N) 输出提示P并读出Dev的前N个字符。
get_line([Dev], P) 输出提示P并读出Dev的一行。
n1([Dev]) 输出新的一行。
parse_exprs([Dev], P) 输出提示P并从Dev中出Erlang表达式。如果成功返回{form, ExprList}, 否则返回{error, What}
parse_form([Dev], P) 输出提示P,并把Dev解析成一个Erlang form。如果成功返回{form, Form},否则返回{error, What}
put_chars([Dev], L) 输出列表L中的字符。
read([Dev], P) 输出提示P并且从Dev中读一项式。如果成功则返回{term,T}否则返回{error,What}
write([Dev],Term) 输出Term

file

file模块提供了与文件系统的标准接口。

read file(File) 返回{ok,Bin},其中Bin是一个包含文件File内容的二进制数据对象。
write file(File, Binary) 把二进制数据对象Binary中的内容写入到文件File中。
get_cwd() 返回{ok,Dir},其中Dir是当前工作目录。
set cwd(Dir) 把当前工作目录设为Dir
rename(From, To) 把文件名From改为To
make dir(Dir) 创建目录Dir
del dir(Dir) 删除目录Dir
list dir(Dir) 返回{ok,L},其中L是目录Dir中的所有文件列表。
file info(File) 返回{ok,L},其中L是包含文件File信息的元组。
consult(File) 如果正确返回{ok,L},这里的L是文件File
open(File, Mode) 打开文件File的模式Mode有三种,分别是readwriteread_write。如果成功打开返回{ok,File}, 失败则返回{error,What}
close(Desc) 关闭文件Desc
position(Desc, N) 把文件Desc的当前位置设为N
truncate(Desc) 把文件Desc在当前位置截断。

lists

list模块提供了标准列表进程函数.下面的参数中以L开头的都代表是列表。

append(L1, L2) 返回L1+L2
append(L) L中所有子列表附加起来的。
concat(L) 把列表L中的所有原子式合并形成一个新的原子。
delete(X, L) 返回把L中第一个出现的X删除后的列表。
flat_length(L) length(flatten(L))等价。
flatten(L) 返回对L进行扁平化处理后的列表。
keydelete(Key, N, LTup) 返回列表LTup删除它的第一个元组中第N个元素是Key的元组后的列表。
keysearch(Key, N, LTup) 遍历元组列表LTup,查找一个第N个元素是Key的元组,若找到返回{value, X};否则返回false
keysort(N, LTup) 返回有LTup中一系列元组的分类的版本,这其中的第N个元素用来作关键字。
member(X, L) X是列表L中的成员返回true, 否则返回false
last(L) 返回L的最后一个元素。
nth(N, L) 返回L的第N个元素。
reverse(L) L中最上层的元素反转。
reverse(L1, L2) append(reverse(L1), L2)等价。
sort(L) L进行排序。

code

code模块用于载入或操纵编译过的代码。

set_path(D) 把代码服务器查询的路径设为目录D
load_file(File) 在当前路径上加载文件File.erl。加载成功返回{module, ModuleName };失败返回{error, What}
is_loaded(Module) 检验模块Module是否已经加载.若已加载返回{file, AbsFileName},否则返回false
esure_loaded(Module) 加载之前未加载的模块,它的返回值和load_file(File)一样。
purge(Module) 清楚模块Module中的代码。
all_loaded() 返回所有载入模块的元组{Module, AbsFileName}

Table Of Contents

Previous topic

附录B 内置函数

Next topic

附录D Erlang的错误处理