我有一个非常简单的疑问,但是我似乎在任何地方都找不到一个合适的解决方案。我有两个Erlang模块,module1.erl
和module2.erl
。正如我的项目的提交指南所定义的,这两个模块属于不同的部分,因此分别在同一目录下的不同文件夹part1和part2中。结构如下:
src/
part1/
module1.erl
part2/
module2.erl
现在module2依赖于module1,并调用module1的各种方法作为module1:method()
。当module1.erl
和module2.erl
都在同一个文件夹中时,我能够实现全部功能,但现在它们在不同的文件夹中,我试图从part2文件夹运行module2.erl
,我不知道如何允许module2编译和调用module1的方法。
1条答案
按热度按时间wvt8vs2t1#
因为仿真器正在使用中,所以当我们直接在
module2
的路径中使用默认选项启动仿真器时,module1
的路径默认不在***代码路径***中。这可以使用...这个列表中有
.
,但没有../part1
,所以当我们编译时,在part2
目录中,它失败了...有几种方法来解决这个问题,几个简单的可以...
c("../part1/module1.erl").
.根据c
文档...Module可以是模块名称或原始程式档路径,可以有或没有.erl副档名...
在上面的选项中,我们使用了
module1
源文件的相对路径。1.使用选项***
-pa
***调用erl
,该选项会将part1
的路径添加到erlang emulator
的该会话的代码路径中。我希望这些应该足以让你继续下去。另外,你必须抓住机会通读Compilation and Code Loading,对发生的事情有一些了解。
WYSIWYG
***=〉***WHAT YOU SHOW IS WHAT YOU GET