Erlang:运行 自定义模块

Erlang: running custom module

Windows 7 x64,Erlang-OTP 17.
我写了这样的简单模块:

-module (somequery).
-export ([fbquery/2]).

fbquery(P1,P2) ->  
    inets:start(),
    ssl:start(),
    token = "78a8shd67tyajsndweiu03hr83h19j",
    Encoded = {"Authorization","Basic " ++ base64:encode_to_string(lists:append([token,":",""]))},
    ContentType = "application/xml",
    Headers = [Encoded, {"Content-Type",ContentType}],
    Options = [{body_format,binary}],
    {ok, File}=file:read_file(P1),
    Res = httpc:request(post, {"https://datapi.com/api/xml4-8", Headers, ContentType, File}, [], Options),
    file:write_file(P2, io_lib:fwrite("~p.\n", [Res])).

此代码在交互模式下工作 (werl.exe),并编译成 beam。 问题是现在如何使用 *.erl 或编译的 *.beam 模块?如何导入它和运行fbquery/2方法?

首先,您需要使用参数 -pa Dir1 Dir2 ... 添加包含您的光束的目录。它会将目录添加到 erlang 路径,您将能够在 shell.

中键入 somequery:fbquery(Arg1,Arg2)

然后,您可以使用参数 -s module function [args..] 以指定函数启动 erl。

您可以在 erl 的 erlang 文档中阅读它。