From: "D.Miyawaki" Date: 2001-06-05T19:05:58+09:00 Subject: [ruby-list:30106] Re: 「パイプ」がわかりません >伊藤さん はじめまして、長らくROM気味だった宮脇@元Tcl使いです。 UNIX系OSには「標準入力/標準出力」というものがあり、 おおざっぱな説明をすると、プログラムはこれを通してユーザーや 他のプログラムとやりとりをするわけです。 パイプと言うのは、あるプログラムの標準出力を別のプログラムの 標準入力として使うというように、複数のプログラムを連結して使うことの できるものです。 例えばターミナル上から cat hogehoge.txt | less と打ち込むと、catコマンドで表示されるファイルhogehoge.txt(出力)が 入力として次のコマンドlessに渡されます。 試しにいろいろやってみて感じを掴んだ方が分かりやすいでしょう。 プログラム(=プロセス)には情報の入口と出口として「標準入出力」があり、 それらを繋げるのが「パイプ」です。 さらに、実行中のプログラム(=プロセス)をファイルとしてオープンすれば この「標準入出力」を通して読み書きを行うこともできます。 これを使ってプロセス間通信を行い、複数のプログラムを連携させたり できるわけです。 あ、この辺りのことはp122から載ってましたね。(苦笑 Rubyでは「|」記号はパイプだけではなくイテレータとしても出て来るので (しかも全然関係ないものです。) ややこしいですが、頑張ってください。 では 宮脇大作@