次のように、行ごとに可変数の単語と数字を含むテキスト ファイルを解析しようとしています。
foo 4.500 bar 3.00
1.3 3 foo bar
改行ではなくスペースで区切られたファイルを読み取るにはどうすればよいですか? File("file.txt").foreach
区切り文字として改行の代わりにスペースを使用するようにメソッドを設定する方法はありますか?
File.open("file.txt").read.split(" ").each
使用できます
open('file.txt').read.split.each
スペース(または改行)で区切られた単語に対するイテレータを提供します。
受け入れられた回答はファイルを丸呑みします。これは、大きなテキスト ファイルでは問題になる可能性があります。
より良い解決策はIO.foreach
です。これは慣用的で、ファイル char を char ごとにストリーミングします。
File.foreach(filename," ") {|string| puts string}
"this is an example"
次の結果を含むサンプル ファイル
"this"
"is"
"an"
"example"