Ruby Tip——读文件

简介:
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

目录
相关文章
|
2月前
|
Ruby
|
2月前
|
Ruby
|
1月前
|
数据采集 Web App开发 数据处理
Ruby网络爬虫教程:从入门到精通下载图片
Ruby网络爬虫教程:从入门到精通下载图片
|
2月前
|
JSON 数据格式 Ruby
|
2月前
|
JSON Ubuntu Linux
|
2月前
|
存储 JSON 数据格式
|
2月前
|
安全 Ruby
|
2月前
|
调度 Ruby