Rubyで、ストリーム処理(どれぐらいサイズが有るかわからないデータを扱う処理)を行う際に使えるスニペットを集めてみました。 前提 ストリーム処理は、例えば標準入出力であったり、大きなファイルの処理だったり、socketからの読み込みだったりを想定しています。 以降の説明文で「データ」とぼかしているのは、IOが標準入出力でもファイルでもsocketでも同じように扱うことができるからです。 Rubyはダックタイピングを得意とする言語なので、ストリーム処理でもダックタイピングを最大限活用することになります。 オブジェクトはIO File Tempfile StringIO などが想定されます。 仮に変数ioとします。 使うメソッドはread write gets puts each ぐらいです。 どんなオブジェクトでも、メソッドの挙動が統一されていれば組み合わせて扱うことができます。 n by