1

Windows マシンで Ruby 1.9.3 を使用しています。

ファイルで実行するIO.readlinesと、奇妙で​​予期しない結果が得られます。ファイルで実行IO.readlinesした結果は、ファイルの最後の行ではない行で終わる配列です。たとえば、配列の最後の要素は次の文字列です。

MLOGIC(RESPONSE_FREQUENCY):  Parameter NUMERATOR_SUBSET has value \x01where

ファイルには実際にはさらに多くの行がありますが、これは配列の最後の要素です。

Ruby 2.0.0 を使用して OS X でまったく同じファイルを実行IO.readlinesしても、問題はありません。期待どおり、ファイル全体を配列に読み込みます。

これに関するご支援をいただければ幸いです。

4

1 に答える 1

0

IO.readlinesWindows と OSX での(docs 1.9.3および2.0.0 )の主な違いは、デフォルトの行区切り文字です$/。unixoid システムでは で"\n"あり、Windows では です"\r\n"

同じ動作を得るには、次のIO.readlinesように呼び出します。

arr = IO.readlines('./testfile', "\n")
于 2014-02-05T21:05:19.267 に答える