5

次のように、行ごとに可変数の単語と数字を含むテキスト ファイルを解析しようとしています。

foo 4.500 bar 3.00
1.3 3 foo bar

改行ではなくスペースで区切られたファイルを読み取るにはどうすればよいですか? File("file.txt").foreach区切り文字として改行の代わりにスペースを使用するようにメソッドを設定する方法はありますか?

4

3 に答える 3

3

File.open("file.txt").read.split(" ").each

于 2010-02-21T07:42:41.400 に答える
3

使用できます

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

スペース(または改行)で区切られた単語に対するイテレータを提供します。

于 2010-02-21T07:43:20.277 に答える
3

受け入れられた回答はファイルを丸呑みします。これは、大きなテキスト ファイルでは問題になる可能性があります。

より良い解決策はIO.foreachです。これは慣用的で、ファイル char を char ごとにストリーミングします。

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

"this is an example"次の結果を含むサンプル ファイル

"this"
"is"
"an"
"example"
于 2016-04-14T17:15:50.690 に答える