erlang中,一个小不点引起的读取文件错误

4113阅读 1评论2011-11-13 sunjiangang-ok
分类:Python/Ruby

今天写了一个读取文件的一个小erlang程序,但是就是死活找不出这个程序的问题出在哪里,最后这个问题让我找出了,问题就在于一个小点上“.”。
开始的程序:
%% test.erl
-module(test).
-export([test/0]).
test() ->
{ok, S} = file:open("data", read),
M = io:read(S, '').

data文件的内容为:
{abcde}

经过编译执行后,问题老是:
Eshell V5.7.4  (abort with ^G)
1> c(test).
{ok,test}
2> test:test().
{error,{1,erl_parse,["syntax error before: ",[]]}}
3> c(test).

其实这个问题的解决也很简单,只要在data文件的末尾加一个“.”即可,将data文件改为:
{abcde}.

原因分析:在erlang中,对于所读取的文件要求规范,因此要在文件末尾加一个“.”的。

另外,对于在erlang程序中创建一个文件,有关目录的问题,这个问题也是一个另人头疼的问题,需要特别注意。
上一篇:Erlang And OTP in Action翻译
下一篇:英语六级阅读高分需掌握两个关键

文章评论