这是我的第一个小时的Erlang实验 . 请你温柔一点 .
-
我检查了一个项目(https://github.com/wooga/eredis)
-
安装了螺纹钢
-
编译模块(光束文件进入ebin)
-
解雇了erl -pa . / ebin
-
键入eredi - 并点击标签
此时没有显示任何内容,而所有其他模块都是自动完成的 . 所以我(合理地)假设模块梁文件没有加载 - 引导我进行各种无路径的路径调查等 .
但代码已经加载,它只是没有自动完成 .
1> {ok,C} = eredis:start_link().
{ok,<0.35.0>}
2> eredis:q(C,["SET","foo","bar"]).
{ok,<<"OK">>}
3> eredis:q(C,["GET","foo"]).
{ok,<<"bar">>}
很棒,但我真的很喜欢自动完成工作 . 有没有办法让它运作?例如,在Zsh中,我必须执行rehash以显示新的路径项 - 我是否需要执行类似的操作?
1 回答
您需要确保模块已加载到shell中,并将其添加到路径
-pa
只是告诉VM在尝试加载模块时在哪里查找模块 . 有几种加载模块的方法调用应该加载的模块中的函数(因此在执行
eredis:start_link()
调用后,您可以选项卡完成eredis)使用
l(Module)
显式加载模块以编程方式:
code:load_file(Module)
Load all erlang modules in path非常实用!