2010-02-21 102 views
5

我試圖分析包含可變數目每行文字和數字的,像這樣的文本文件:Ruby文件IO分隔符?

foo 4.500 bar 3.00 
1.3 3 foo bar 

我怎樣才能讀取該文件的空間,而不是換行分隔?有什麼方法可以設置File("file.txt").foreach方法使用空格而不是換行符作爲分隔符?

回答

3

您可以使用

open('file.txt').read.split.each 

,讓您在空間(或換行)的迭代器分離話。

3

File.open( 「file.txt的」)。read.split(」「)。每個

3

接受的答案是slurp該文件可能是一個大文本文件的問題。

更好的解決方案是IO.foreach。這是慣用的,將由焦炭流文件的字符:

File.foreach(filename," ") {|string| puts string} 

"this" 
"is" 
"an" 
"example" 
"this is an example"結果示例文件