【问题标题】:Calling a function from an .ERL to .YAWS file从 .ERL 调用函数到 .YAWS 文件
【发布时间】:2012-10-07 10:03:25
【问题描述】:

我对 YAWS 和 ERLANG 非常陌生,想从不同的 .erl 文件调用一个函数到 YAWS 页面。

即我有一个名为 pages.yaws 的页面,并有另一个名为 utility.erl 的文件,我想从 pages.yaws 中的 utility.erl 调用一个函数

有什么想法吗?

谢谢

【问题讨论】:

    标签: erlang yaws


    【解决方案1】:

    非常简单,只需像通常在 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!".
    

    【讨论】:

    • 我也是 Erlang 的新手。所以我不确定我是在解释错误还是选择了一个好点。我喜欢johlo的回答,但我只能让它在梁文件中定义的模块中加载一个函数之后我重新启动了yaws服务
    猜你喜欢
    • 2018-02-04
    • 2010-11-02
    • 2016-09-14
    • 2012-07-25
    • 2012-10-24
    • 1970-01-01
    • 2015-05-23
    • 1970-01-01
    相关资源
    最近更新 更多