2010-04-18 66 views

回答

4

您可以通過定義一個user_default模塊擴展shell命令模塊在您的代碼路徑中。

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

+1。我不知道這件事。簡直太棒了! :)我不會使用這個(或任何簡單的方法,很難,因爲我認爲總是區分用戶定義的模塊和非用戶定義的模塊。 – 2010-04-19 09:05:50

2

我不這麼認爲。

但是你仍然可以在shell中使用tab完成,以方便使用。

爲模塊標籤完成可以通過加載它來實現:

> l(foo). 

或手動調用從該模塊首次任何功能。

+0

我試過,但該選項卡完成沒有工作 – Zubair 2010-04-18 16:22:42

+0

我做L(MODULE_NAME),然後MODULE_NAME:start_of_function_name但它在名稱 – Zubair 2010-04-18 16:23:15

+0

這聽起來很奇怪,我從來沒有填滿。你在運行哪個版本的Erlang? – 2010-04-18 17:24:39

2

不能省略模塊名,但你可以少打字,使用變量:

-module(user_default). 

-export([seq/2]). 

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

確保編譯:

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]