summaryrefslogtreecommitdiff
path: root/doc/pty
diff options
context:
space:
mode:
Diffstat (limited to 'doc/pty')
-rw-r--r--doc/pty/README.expect.ja23
-rw-r--r--doc/pty/README.ja70
2 files changed, 93 insertions, 0 deletions
diff --git a/doc/pty/README.expect.ja b/doc/pty/README.expect.ja
new file mode 100644
index 0000000000..a4eb6b01df
--- /dev/null
+++ b/doc/pty/README.expect.ja
@@ -0,0 +1,23 @@
+= README for expect
+ by A. Ito, 28 October, 1998
+
+Expectライブラリは,tcl の expect パッケージと似たような機能を
+IOクラスに追加します.
+
+追加されるメソッドの使い方は次の通りです.
+
+[IO#expect(pattern,timeout=9999999)]
+
+ _pattern_ は String か Regexp のインスタンス,_timeout_ は Fixnum
+ のインスタンスです._timeout_ は省略できます.
+
+ このメソッドがブロックなしで呼ばれた場合,まずレシーバである
+ IOオブジェクトから _pattern_ にマッチするパターンが読みこまれる
+ まで待ちます.パターンが得られたら,そのパターンに関する配列を
+ 返します.配列の最初の要素は,_pattern_ にマッチするまでに読みこ
+ まれた内容の文字列です.2番目以降の要素は,_pattern_ の正規表現
+ の中にアンカーがあった場合に,そのアンカーにマッチする部分です.
+ もしタイムアウトが起きた場合は,このメソッドは +nil+ を返します.
+
+ このメソッドがブロック付きで呼ばれた場合には,マッチした要素の
+ 配列がブロック引数として渡され,ブロックが評価されます.
diff --git a/doc/pty/README.ja b/doc/pty/README.ja
new file mode 100644
index 0000000000..a26b4932ff
--- /dev/null
+++ b/doc/pty/README.ja
@@ -0,0 +1,70 @@
+= pty 拡張モジュール version 0.3 by A.ito
+
+1. はじめに
+
+ この拡張モジュールは,仮想tty (pty) を通して適当なコマンドを
+ 実行する機能を ruby に提供します.
+
+2. インストール
+
+ 次のようにしてインストールしてください.
+
+ 1. <tt>ruby extconf.rb</tt>
+ を実行すると Makefile が生成されます.
+
+ 2. <tt>make; make install</tt> を実行してください.
+
+3. 何ができるか
+
+ この拡張モジュールは,PTY というモジュールを定義します.その中
+ には,次のようなモジュール関数が含まれています.
+
+ [PTY.getpty(command)]
+ [PTY.spawn(command)]
+
+ この関数は,仮想ttyを確保し,指定されたコマンドをその仮想tty
+ の向こうで実行し,配列を返します.戻り値は3つの要素からなる
+ 配列です.最初の要素は仮想ttyから読み出すためのIOオブジェクト,
+ 2番目は書きこむためのIOオブジェクト,3番目は子プロセスのプロ
+ セスIDです.この関数がイテレータとして呼ばれた場合,これらの
+ 要素はブロックパラメータとして渡され,関数自体はnilを返します.
+
+ 子プロセスが終了したり停止した場合には,例外が発生します.この関
+ 数がブロックパラメータ付きで呼ばれた場合には,そのブロックの中で
+ のみ例外が発生します.子プロセスをモニターしているスレッドはブロッ
+ クを抜けるときに終了します.
+
+ [PTY.open]
+
+ 仮想ttyを確保し,マスター側に対応するIOオブジェクトとスレーブ側に
+ 対応するFileオブジェクトの配列を返します.ブロック付きで呼び出さ
+ れた場合は,これらの要素はブロックパラメータとして渡され,ブロッ
+ クから返された結果を返します.また、このマスターIOとスレーブFile
+ は、ブロックを抜けるときにクローズ済みでなければクローズされます.
+
+ [PTY.check(pid[, raise=false])]
+
+ pidで指定された子プロセスの状態をチェックし,実行中であればnilを
+ 返します.終了しているか停止している場合、第二引数が偽であれば、
+ 対応するProcess::Statusオブジェクトを返します。真であれば
+ PTY::ChildExited例外が発生します.
+
+4. 利用について
+
+ 伊藤彰則が著作権を保有します.
+
+ ソースプログラムまたはドキュメントに元の著作権表示が改変されずに
+ 表示されている場合に限り,誰でも,このソフトウェアを無償かつ著作
+ 権者に無断で利用・配布・改変できます.利用目的は限定されていませ
+ ん.
+
+ このプログラムの利用・配布その他このプログラムに関係する行為によ
+ って生じたいかなる損害に対しても,作者は一切責任を負いません.
+
+5. バグ報告等
+
+ バグレポートは歓迎します.
+
+ aito@ei5sun.yz.yamagata-u.ac.jp
+
+ まで電子メールでバグレポートをお送りください.