次のような形式の csv ファイルがあります。
Wed Mar 07 00:00:00 CET 2012,78.0
Thu Mar 08 00:00:00 CET 2012,46.0
...
標準入力を使用して読み取り、次を使用して各行の一部を一致させようとしました。
ARGF.each_line do |line|
time << line.scan(/^\w{3} (\w{3}) (\d{2}) (\d{2}:\d{2}:\d{2}) \w+ (\d{4}),([.\d]+)$/)
end
何らかの理由で、ファイルの最後の行のみを返します。
CSV ファイルを文字列変数にコピーすると、各行が正しく一致し始めます。$
正規表現からドル記号を削除すると、それも正しく一致しますが、ARGF から読み取るときに機能しない理由がわかりません。何か案は?