【问题标题】:How do I use packages in Erlang?如何在 Erlang 中使用包?
【发布时间】:2015-11-09 18:47:21
【问题描述】:

最近我在 Erlang 语言中发现了 packages 这样的东西。问题是我无法使用包声明编译模块。如下所示的文件 main.erl 位于目录 /home/my_user/erl/update/src 中,就像手册中所说的那样,但是我所有的编译尝试都失败了.我使用的是 18.0 版本的 erlang。

-module(update.src.main).
-author("legacy").

-export([start/0]).

start()->
  ok.

这是我每次从 erlang 编译器得到的结果:

5> c(main).
main.erl:9: syntax error before: '.'
main.erl:10: no module definition
error

此外,我使用的用于 erlang 语言的 IntelliJ IDEA plugin 在带有模块声明的字符串中报告了一个错误,并说模块 update 应该在文件 update.erl 中声明。我试图找到一些关于包使用问题的信息,但我得到的只是这个question。那么,erlang中的包还没有实现,还是我在编译过程中遗漏了什么?

【问题讨论】:

    标签: intellij-idea erlang packages


    【解决方案1】:

    http://www.erlang.org/news/35

    董事会决定从 R16 中的产品。

    更多详情另见Why aren't erlang packages used?

    【讨论】:

      【解决方案2】:

      Old Manpage

      包已经实现,但目前还只是实验性的,主要是因为对于它们是否应该使用该语言还没有达成共识。

      几乎erlang不使用包。属于otp标尺,你可以使用应用程序将你的代码组织成包。

      Erlang需要模块名&&文件同名。 在 erlang atom 的名称中,它不能包含 '.' .如果你必须使用它,你可以使用'a.c'。

      就像那个 a.b.erl

      -module('a.b').

      【讨论】:

        猜你喜欢
        • 2012-12-31
        • 2013-06-03
        • 2021-12-03
        • 2011-05-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-04-14
        • 1970-01-01
        相关资源
        最近更新 更多