前田です。

Minero Aoki wrote:
> そして上記のように、わたしは String#map や #select をよく使います。
> 逆に、文字単位の map や select には全く魅力を感じません。

わたなべさんも指摘されているように、一行ごとのStringの配列を使うようにす
れば、要求は満たされるのではないでしょうか。

メモリ上で行ごとの処理を行いたい局面が多いことには同意しますが、それを
Stringで実現しなければならないとは思いません。

> 他の傍例としては、IO#each が「行」を単位に選んでいることが挙げら
> れます。IO#each を each_byte や each_block (ないけど) の alias に
> することも可能だったはずです。この事実は、文字列のかたまりを扱う
> 場合は行を単位として扱うのが *現実的に便利だ* ということを表して
> いるのではないでしょうか?
> 
> また、IO#each からの類推が働くという点でも、String#each が行を単位と
> するのは優れていると思います。

驚きの少なさという点で、IOとの対称性よりも、Arrayとの対称性の方が重要
に思います。

-- 
前田 修吾