【发布时间】:2014-04-03 00:20:45
【问题描述】:
我正在尝试从 ram 文件中读取数据(在前面跳过一些行),但函数 ram_file:read_line/1 似乎未实现:
Eshell V5.9.2 (abort with ^G)
1> Data = "first line
1> second_line".
"first line\nsecond_line"
2> {ok, File} = file:open(Data, [ram]).
{ok,{file_descriptor,ram_file,#Port<0.504>}}
3> file:read_line(File).
** exception error: undefined function ram_file:read_line/1
我尝试使用指定的其他模式打开文件:raw、read 和read_ahead,但它返回{error,badarg}
我知道我可以将数据读入缓冲区并对其进行迭代,但是还有其他方法吗?
【问题讨论】:
-
我一直在考虑根据此处的文档创建一个用于单元测试的内存 IO 模块:erlang.org/doc/apps/stdlib/io_protocol.html。你当然可以这样做,尽管这可能比必要的工作要多。
-
@macintux 这听起来很有趣,但正如你所写的那样,现在工作量太大了。
标签: erlang