忽略shell中的模块名称

时间:2010-04-18 14:28:04

标签: erlang

我在Erlang shell中经常使用单个模块。是否有任何快捷方式可以让我省略模块:输入命令时的前缀?

3 个答案:

答案 0 :(得分:4)

您可以通过定义user_default模块来扩展shell命令:

-module(user_default).

-export([seq/2]).

seq(A,B) -> lists:seq(A,B).

确保已编译的模块位于代码路径中。

Eshell V5.7.5  (abort with ^G)
1> seq(1,4).
[1,2,3,4]
2>

答案 1 :(得分:2)

我不这么认为。

但是你仍然可以在shell中使用tab完成功能来轻松完成。

模块的标签完成可以通过加载来实现:

> l(foo).

或者首次手动调用该模块中的任何函数。

答案 2 :(得分:2)

您不能省略模块名称,但可以使用变量键入less:

1> lists:seq(1,10).
[1,2,3,4,5,6,7,8,9,10]
2> L = lists, S = seq.
seq
3> L:S(1,10).
[1,2,3,4,5,6,7,8,9,10]