ITコンサルの日常

ITコンサル会社に勤務する普通のITエンジニアの日常です。

続々・getsメソッドが認識する改行文字を変更する方法は?(解決)

なんのことはない、\rの動きが、改行せずに行頭にカーソル(?)を戻すというものだったため、
cr.txt@cygwinで表示

$ od -cx cr.txt
0000000   A   A   A  \r   B   B   B  \r   C   C   C  \r
        4141 0d41 4242 0d42 4343 0d43
0000014

$

の場合、
AAAを出力して先頭にカーソルを戻し、上書きでBBBを出力して先頭にカーソルを戻し、CCCを出力してカーソルを先頭に戻す。
という動きになり、結果、

>ruby -015 gets_text_2.rb cr.txt
"\r"
CCC
>

のようにCCCのみが出力されたように見えたわけでした。
ちなみにprintじゃなくてpにしたら、

>ruby -015 gets_text_2.rb cr.txt
"AAA\r"
"BBB\r"
"CCC\r"

>

のように表示されました。

ちなみに、最初に言ってた本の参照先が間違ってる問題は、著者の方に連絡して正誤表に載せてもらいました。ありがとうございます。