Erlang中文手册(Erldoc.com)  »  file  »  path_eval/2
Erlang并发编程 Erlang/OTP设计原理 Erlang/OTP[pdf] Mnesia用户手册[pdf] Erlang完整手册[en] 官网手册[en] 模块列表 方法列表 随机 Erlang中文社区(BBS) 美女图库

file:path_eval/2

对在一个文件里的 Erlang 表达式进行解析

用法:

path_eval(Path, Filename) -> {ok, FullName} | {error, Reason}

查找路径 Path 下的文件,直到 Filename 被找到。如果 Filename 是一个绝对路径的文件,那么 Path 将被忽略。然后从文件里读取并解析 Erlang 表达式,每一个表达式由 "." 隔开(或者是由 "," 隔开,一组表达式代码块也认为是一个表达式)。最后解析的结果不会返回;在文件里的任何表达式代码块必须有它自己的功能作用。返回的结果有以下:

{ok, FullName}:文件被读取并解析。FullName 是文件的全部路径信息。

{error, enoent}:在路径下的任何文件目录,找不到指定的文件。

{error, atom()}:当打开或者是读取文件时发生了一个错误。

{error, {Line, Mod, Term}}:当解析 Erlang 表达式时发生了一个错误。可以使用 file:format_error/1 函数把这 three-element 的元组信息转为更详细直观的错误描述。

假设在当前根目录下的 test 文件夹里有 test_file_path_eval.erl 这个文件,文件的内容如下:

Fun = fun(E) ->
    io:format("~p~n", [E])
end,
[Fun(E) || E <- lists:seq(1, 10)].

那么可以利用 file:path_eval/2 来动态解析这个文件

file:path_eval([".", "/app/test"], "test_file_path_eval.erl").
阿里云 - 最高1000元通用代金券立即可用
沪ICP备13037221号-9