[ruby-list:48575] プラットフォームに自動的に対応した改行を標準出力に付けたい

From: 俊(とし) <toshio.otaguro@...>
Date: 2011-12-11 05:05:30 UTC
List: ruby-list #48575
Universal Newline のことがよくわかっていない初心者ですが,以下のようなことをやりたいと思っています.

(1) 使用するプラットフォームは Windows と Linux.Mac でも使えればなお良し.
(2) 複数行の入力をテキストファイルから読み込む,または直接端末から打ち込む.テキストファイルをリダイレクトする場合もある.テキストファイルは,プラットフォームにとって自然なエンコーディングと改行記号でない場合もある.例えば,Windows
で UTF-8 にエンコードされ,改行記号が LF のテキストファイルを読み込ませる場合もある.
(3) 読み込んだ後の処理の結果を,入力と同じエンコーディング,改行記号で標準出力に出力したい.もちろんリダイレクトすることも多いが.

標準出力に出力するときの改行記号でつまづいています.改行記号が LF のファイルを読み込み,改行記号が LF
であることを特定することはできるのですが,これを標準出力に出そうとすると,CR/LF になってしまう.ちなみにプラットフォームは
WIndows 7 で,Ruby は 1.9.3p0 [i386-mswin32_100]
です.改行のバグ修正のパッチは当たっているはずのものです.

$stdout に対して,"wb" という属性を与えるにはどうすればよいか,という問題認識で正しいでしょうか?

-- 
俊(とし)

In This Thread

Prev Next