# 附錄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模塊提供了與文件系統的標準接口。
| readfile(File) | 返回{ok,Bin},其中Bin是一個包含文件File內容的二進制數據對象。 |
|-----|-----|
| writefile(File,Binary) | 把二進制數據對象Binary中的內容寫入到文件File中。 |
| get_cwd() | 返回{ok,Dir},其中Dir是當前工作目錄。 |
| setcwd(Dir) | 把當前工作目錄設為Dir。 |
| rename(From,To) | 把文件名From改為To。 |
| makedir(Dir) | 創建目錄Dir。 |
| deldir(Dir) | 刪除目錄Dir。 |
| listdir(Dir) | 返回{ok,L},其中L是目錄Dir中的所有文件列表。 |
| fileinfo(File) | 返回{ok,L},其中L是包含文件File信息的元組。 |
| consult(File) | 如果正確返回{ok,L},這里的L是文件File。 |
| open(File,Mode) | 打開文件File的模式Mode有三種,分別是read、write和read_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}。 |