Shiro Kawai
shiro****@lava*****
2004年 10月 17日 (日) 16:29:14 JST
ptyの使いかたを忘れてしまっているのですが、もしかして こうではないでしょうか。 * 最初の"abc\n"はptyからのエコー、次の"abc\n"はcatの出力。 * catの出力が行毎なのは、ptyが行バッファリングしてるから (従って送るデータに'\n'が含まれていないと、そもそもcatに データが渡っていない) これはcmdとargsをそれぞれ (let* ((cmd "tr") (args '("tr" "a-z" "A-Z"))) のようにしてみると確認できると思います。(最初に読むのがabc、次に 読むのがABC、したがって前者はtrを通っていない) --shiro From: 中村 修 <osm-n****@vesta*****> Subject: [Gauche-devel-jp] read-char について Date: Sun, 17 Oct 2004 16:09:56 +0900 > 中村といいます。 > > 子プロセスに文字列を入力してそのままの出力を 親プロセスで > read-char で読んでいく(つもり)の以下のコードを実行すると、 > 以下が得られるのですが,同じ文字列が2回繰り返されて読まれていて、 > なぜこうなるのかわかりません。与える文字列に”\n"が含まれないと、 > この状況にはなりません。 > なぜ、"\n" があると文字列が2回読み込まれてしまうのか、 > 教えていただけませんか? [...]