今天写了一个读取文件的一个小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程序中创建一个文件,有关目录的问题,这个问题也是一个另人头疼的问题,需要特别注意。
阅读(4033) | 评论(1) | 转发(0) |