2010-06-26 50 views
2

這可能是非常基本的東西,但我的Erlang安裝頑固地拒絕了我對re moduleerror:undef的呼叫。它接受regexp package,但是,我想它是一個版本問題。Erlang正則表達式與重新加載問題

我正在運行v。5.6.2和-import(re, [...]).在我的文件頂部,是否還有其他可能遺漏的陷阱?我搜索了一段時間,但找不到描述所需最低版本的頁面。

在相關說明中,由於我對Erlang及其工具/社區/開發環境仍然非常新鮮,如果您對經常訪問的站點有任何建議,或者更改開發週期的工具,請告訴我。

謝謝!

編輯:如果你想看到一些代碼:

Erlang (BEAM) emulator version 5.6.2 [source] [smp:2] [async-threads:0] [kernel-poll:false] 

Eshell V5.6.2 (abort with ^G) 
1> re:compile("paul"). 
** exception error: undefined function re:compile/1 

2> regexp:match("paul","au"). 
{match,2,2} 

在我Eunit測試:

::error:undef 
    in function re:compile/1 
    called as compile("\\s+") 

回答

3

您的Erlang安裝非常舊。這可能是R12B發佈前的一個版本。目前最穩定的版本是R13B04,而R14現在處於測試階段。

+1

永遠的版本實際上打印出殼體頂部的Erlang版本號。不過,你的舊版本並沒有這樣做。 :-) – 2010-06-26 20:10:03

+1

'erlang:system_info(otp_release)'給你主要版本(例如'R12B')。不確定你是否可以獲得次要版本...... – legoscia 2010-06-28 10:00:04

0

首先嚐試用Erlang shell中運行你的正則表達式的代碼,看看你得到的同樣的錯誤。 也許發佈實際的代碼會有所幫助。

+0

發表,謝謝。 – 2010-06-26 15:27:20