【发布时间】:2012-10-07 10:03:25
【问题描述】:
我对 YAWS 和 ERLANG 非常陌生,想从不同的 .erl 文件调用一个函数到 YAWS 页面。
即我有一个名为 pages.yaws 的页面,并有另一个名为 utility.erl 的文件,我想从 pages.yaws 中的 utility.erl 调用一个函数
有什么想法吗?
谢谢
【问题讨论】:
我对 YAWS 和 ERLANG 非常陌生,想从不同的 .erl 文件调用一个函数到 YAWS 页面。
即我有一个名为 pages.yaws 的页面,并有另一个名为 utility.erl 的文件,我想从 pages.yaws 中的 utility.erl 调用一个函数
有什么想法吗?
谢谢
【问题讨论】:
非常简单,只需像通常在 Erlang 程序中那样调用函数,即Module:func_name(arguments),您唯一需要做的就是确保 Yaws 知道在哪里可以找到编译后的 BEAM 文件。在 Yaws 配置文件中添加:
ebin_dir = /tmp/ebin
编译您的utilities.erl,将BEAM 文件放入/tmp/ebin,然后您可以从webpage.yaws 文件中调用您的实用程序函数。
完整示例:
website.yaws:
<html>
<erl>
out(Arg) ->
D=utilities:get_some_strings(),
{html, ["Retrieved from utilities: ", D]}.
</erl>
</html>
utilities.erl:
-module(utilities).
-export([get_some_strings/0]).
get_some_strings() ->
"hello world!".
【讨论】: