基本的 Erlang 模块问题

Posted

技术标签:

【中文标题】基本的 Erlang 模块问题【英文标题】:Basic Erlang module troubles 【发布时间】:2021-03-22 04:22:29 【问题描述】:

所以我直接复制并粘贴了 Erlang 文档中的代码:https://erlang.org/doc/reference_manual/modules.html#module-syntax

请帮忙!

【问题讨论】:

你编译模块了吗?试试c(m). 然后m:fact(1). 是的,我忘记了fact(1).之前的m:,这是一个愚蠢的错误。现在一切正常! 【参考方案1】:

模块未编译。要修复它,请在 Erlang shell (eshell) 中尝试此操作:

1> c(m).
ok
2> m:fact(1).
1

请参阅有关 code loading 工作原理的文档。

【讨论】:

编译模块 m 并尝试运行 fact(1). 后出现以下错误:** exception error: undefined shell command fact/1【参考方案2】:

exception error: undefined shell command 几乎总是意味着 shell 环境没有预期的功能,这也可能意味着包含其定义的模块尚未为我们手工编写和执行的所有代码加载。您可以故意尝试拼错一些自动加载的 BIF,例如“length1”,您仍然会看到相同的消息。

【讨论】:

以上是关于基本的 Erlang 模块问题的主要内容,如果未能解决你的问题,请参考以下文章

如何在Elixir或Erlang中在运行时动态创建和加载模块?

简单介绍Erlang

Erlang 模块向 shell 程序发送和接收消息

Erlang - 产生进程和传递参数

使用 Erlang 的 Elixir 模块失败

如何从 github 安装 erlang 模块?