今天写了一个读取文件的一个小erlang程序,但是就是死活找不出这个程序的问题出在哪里,最后这个问题让我找出了,问题就在于一个小点上“.”。
阅读(2102) | 评论(1) | 转发(0) |
<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>
开始的程序:
%% 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程序中创建一个文件,有关目录的问题,这个问题也是一个另人头疼的问题,需要特别注意。
相关热门文章
给主人留下些什么吧!~~
sunjiangang-ok2011-11-14 20:59:13
Erlang如何查看gen_server系列的状态 (高级)
http://blog.yufeng.info/archives/99
评论热议