Ruby如何简洁地读整个文件,你可以这样做:
f
=
File.open(
"
test.log
"
,
"
r
"
) result
=
''
f.each_line do
|
line
|
result
+=
line end puts result
但是,更简洁的方法是:
File.open(
"
test.log
"
,
"
r
"
){
|
f
|
f.collect.join}
利用了文件打开的IO对象混入了Enumerable模块这一特点,通过map或者collect将所有文件行放入一个数组,再join即可。 更正,其实更简介的方法是: IO.read("test.log") 仅限于读文本文件。 这个tip的由来是我在读二进制文件的时候发现IO.read出来的大小与实际结果不符合,然后去尝试上文提到的这个方法,其实仍然是错误的。读二进制文件需要指定mode为b: File.open("test.swf","rb")
文章转自庄周梦蝶 ,原文发布时间 2008-10-07
相关资源:敏捷开发V1.0.pptx