Erlang:如何包含库

San*_*oli 3 erlang json external libraries

我正在编写一个简单的Erlang程序,它请求一个URL并将响应解析为JSON.

为此,我需要使用名为Jiffy的库.我下载并编译了它,现在我有一个.beam文件和一个.app文件.我的问题是:我该如何使用它?如何在我的程序中包含此库?我无法理解为什么我在网上找不到必须非常关键的答案.

Erlang有一个include语法,但是收到一个.hrl文件.

谢谢!

Pas*_*cal 8

您不需要在项目中包含该文件.在Erlang中,代码将在运行时尝试查找任何函数.因此,您使用的模块必须位于VM的搜索路径中,该路径在您需要的位置运行代码,这就是全部.

为此,您可以在启动erlang时将文件添加到路径中:erl -pa your/path/to/beam(它也存在-pz参见erlang doc)

请注意,还可以使用以下代码修改应用程序本身的路径:add_path(Dir).

你应该看看OTP方式在erlang文档中构建应用程序或者学习一些Erlang,还可以看看Rebar是一个帮助你管理erlang应用程序的工具(例如从rebarrebar wiki开始)